【问题标题】:digital TIX clock in Google SheetsGoogle 表格中的数字 TIX 时钟
【发布时间】:2021-02-12 06:48:13
【问题描述】:

快速搜索带来零结果,所以我想知道这是否可以在谷歌表格中完成,或者是否有人曾经尝试过......

背景:基本上它是一个分为 4 个字段的时钟,其中每个字段代表 1 个数字,基于随机点亮的正方形的总和

读作15:35

【问题讨论】:

    标签: google-sheets time google-sheets-formula array-formulas digital


    【解决方案1】:

    根据需要设置时区
    设置更改和每分钟重新计算


    条件格式设置为范围B2:M4
    的字体和背景颜色相同 对于四种颜色中的每一种,自定义公式都很简单:

    =1=B2
    
    =2=B2
    
    =3=B2
    
    =4=B2
    

    而B2中的主要数组公式是:

    =INDEX(IFERROR(1/(1/{
     VLOOKUP(SEQUENCE(3, 1), {SEQUENCE(3), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 1, 1), 1, 1, ); 
     SEQUENCE(3-MID(TEXT(NOW(), "hhmm"), 1, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(3, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 2, 1), 1, 2, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 2, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 2), {SEQUENCE(6), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 3, 1), 1, 3, ); 
     SEQUENCE(6-MID(TEXT(NOW(), "hhmm"), 3, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(6, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 4, 1), 1, 4, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 4, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, )})))
    



    对于垂直时钟:

    =INDEX(IFERROR(1/(1/{
     VLOOKUP(SEQUENCE(1, 3), {SEQUENCE(3), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 1, 1), 1, 1, ); 
     SEQUENCE(3-MID(TEXT(NOW(), "hhmm"), 1, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(3, 1), )}, 2, ); {0,0,0}; 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 2, 1), 1, 2, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 2, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, ); {0,0,0}; 
     VLOOKUP(SEQUENCE(2, 3), {SEQUENCE(6), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 3, 1), 1, 3, ); 
     SEQUENCE(6-MID(TEXT(NOW(), "hhmm"), 3, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(6, 1), )}, 2, ); {0,0,0}; 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 4, 1), 1, 4, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 4, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, )})))
    



    或圆形设计:

    =INDEX(IF(""=IFERROR(1/(1/{
     VLOOKUP(SEQUENCE(3, 1), {SEQUENCE(3), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 1, 1), 1, 1, ); 
     SEQUENCE(3-MID(TEXT(NOW(), "hhmm"), 1, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(3, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 2, 1), 1, 2, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 2, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 2), {SEQUENCE(6), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 3, 1), 1, 3, ); 
     SEQUENCE(6-MID(TEXT(NOW(), "hhmm"), 3, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(6, 1), )}, 2, ), {0;0;0}, 
     VLOOKUP(SEQUENCE(3, 3), {SEQUENCE(9), SORT(QUERY({SEQUENCE(MID(TEXT(NOW(), "hhmm"), 4, 1), 1, 4, ); 
     SEQUENCE(9-MID(TEXT(NOW(), "hhmm"), 4, 1), 1,,)}, "where Col1 matches '\d'", ), RANDARRAY(9, 1), )}, 2, )})),,"⚫"))
    



    demo spreadsheet

    【讨论】:

      【解决方案2】:

      如果您喜欢模拟时钟,您可以使用这个无膨胀软件版本的 @benlcollins' 公式:

      =INDEX(SPARKLINE({QUERY({0, 0, 1; 0, 0, 0.8; 
       SEQUENCE(37,1,,10),       SIN(RADIANS(SEQUENCE(37,1,,10))),       COS(RADIANS(SEQUENCE(37,1,,10))); 
       SEQUENCE(12,1,30,30), 0.9*SIN(RADIANS(SEQUENCE(12,1,30,30))), 0.9*COS(RADIANS(SEQUENCE(12,1,30,30))); 
       SEQUENCE(12,1,30,30),     SIN(RADIANS(SEQUENCE(12,1,30,30))),     COS(RADIANS(SEQUENCE(12,1,30,30)));
       SEQUENCE(4,1,90,90),  0.8*SIN(RADIANS(SEQUENCE(4,1,90,90))),  0.8*COS(RADIANS(SEQUENCE(4,1,90,90)));
       SEQUENCE(4,1,90,90),      SIN(RADIANS(SEQUENCE(4,1,90,90))),      COS(RADIANS(SEQUENCE(4,1,90,90)))},
       "select Col2,Col3 order by Col1", ); 
       IFERROR(SIN(RADIANS(SEQUENCE(MINUTE(NOW())/60*360,1,1,1))), 0), 
       IFERROR(COS(RADIANS(SEQUENCE(MINUTE(NOW())/60*360,1,1,1))), 1); 0, 0; 
          0.75*SIN(RADIANS((MOD(HOUR(NOW()), 12)/12*360)+MINUTE(NOW())/60*30)),
          0.75*COS(RADIANS((MOD(HOUR(NOW()), 12)/12*360)+MINUTE(NOW())/60*30))}, 
       {"linewidth", 2; "color", "red"}))
      

      【讨论】:

        【解决方案3】:

        或试试这个老式数字时钟:

        =INDEX(IFERROR(1/(1/TRANSPOSE(SPLIT(FLATTEN(SPLIT(TEXTJOIN(" ", 1, IFNA(
         HLOOKUP(REGEXEXTRACT(TEXT(NOW(), "xH:MM"), "(.)(.)(.)(.)?(.)?(.)?"), TRANSPOSE({
         1, "0 0 0 0 0 ० 0 0 0 0 0 ० 1 0 0 0 0 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         2, "1 0 1 1 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 1 1 0 1 ० 0 0 0 0 0 ०";
         3, "1 0 0 0 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         4, "1 1 1 0 0 ० 0 0 1 0 0 ० 0 0 1 0 0 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         5, "1 1 1 0 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 0 1 1 1 ० 0 0 0 0 0 ०";
         6, "1 1 1 1 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 0 1 1 1 ० 0 0 0 0 0 ०";
         7, "1 0 0 0 0 ० 1 0 0 0 0 ० 1 0 0 0 0 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         8, "1 1 1 1 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         9, "1 1 1 0 1 ० 1 0 1 0 1 ० 1 0 1 0 1 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         0, "1 1 1 1 1 ० 1 0 0 0 1 ० 1 0 0 0 1 ० 1 1 1 1 1 ० 0 0 0 0 0 ०";
         IF((HOUR(NOW())<10)+(HOUR(NOW())>12), "x", "×"),  REPT("0 0 0 0 0 ० ", 5); 
         ":", "0 1 0 1 0 ० 0 0 0 0 0 ०"}&""), 2, 0))), "०")), " ")))))
        

        supported formats:
        
        H:M
        H:MM
        HH:MM
        xH:MM
        H:M AM/PM
        H:MM AM/PM
        HH:MM AM/PM
        xH:M AM/PM
        xH:MM AM/PM
        


        注意:每个数字设计都以转置状态存储

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-03-16
          • 2012-11-28
          • 1970-01-01
          • 1970-01-01
          • 2013-11-15
          相关资源
          最近更新 更多