【发布时间】:2021-02-12 06:48:13
【问题描述】:
快速搜索带来零结果,所以我想知道这是否可以在谷歌表格中完成,或者是否有人曾经尝试过......
背景:基本上它是一个分为 4 个字段的时钟,其中每个字段代表 1 个数字,基于随机点亮的正方形的总和
读作15:35
【问题讨论】:
标签: google-sheets time google-sheets-formula array-formulas digital
快速搜索带来零结果,所以我想知道这是否可以在谷歌表格中完成,或者是否有人曾经尝试过......
背景:基本上它是一个分为 4 个字段的时钟,其中每个字段代表 1 个数字,基于随机点亮的正方形的总和
读作15:35
【问题讨论】:
标签: google-sheets time google-sheets-formula array-formulas digital
根据需要设置时区
设置更改和每分钟重新计算
条件格式设置为范围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, )})),,"⚫"))
【讨论】:
如果您喜欢模拟时钟,您可以使用这个无膨胀软件版本的 @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"}))
【讨论】:
或试试这个老式数字时钟:
=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
注意:每个数字设计都以转置状态存储
【讨论】: