我一直在尝试使用公式严格在excel中获得以下内容。有人可以让我知道是否仍然可以吗?
答案 0 :(得分:3)
例如在B2
中:
=IF(COLUMN()-(ROW()-1)>0,COLUMN()-(ROW()-1),COLUMN()-ROW()+13)
答案 1 :(得分:3)
由于此重复从1到12,因此可以基于1+MOD(??,12)
({Mod
或Modulo基本上是除以数的余数。您可能回想起在小学学习7 ÷ 3 = 2 remainder 1
的情况-这意味着MOD(7,3)=1
或7 mod 3 = 1
。这也意味着MOD(12, 12)=0
,MOD(13,12)=1
,MOD(24,12)=0
等)
随着每列的增加,我们可以从这一点开始:
=1+Mod(Column(), 12)
由于此列从B列中的3开始,因此我们需要从该列中减去2:
=1+Mod(Column()-2, 12)
现在,这是排序的第一行。那第二个呢?好吧,它每行减少 1-与MOD
一起使用时,它与增加 11相同(因为12-1=11
)
=1+Mod(Column()-2 + 11*Row(), 12)
但是,这又太高了-因为我们从第二行开始,所以我们需要再次减去2:
=1+Mod(Column()-2 + 11*(Row()-2), 12)
最后(如Marmiketin在评论中指出的那样),我们实际上具有(X-2) - (Y-2)
或(X-Y)-(-2--2)
的形式,即(X-Y)-0
,因此我们可以删除两个-2
简化。如果您需要按行或列来偏移原点,则只需记住将它们放在哪里:
=1+Mod(Column() + 11*Row(), 12)
然后,我们有☺
答案 2 :(得分:1)
在 B2 中输入:
=COLUMNS($A:A)
并复制。在 B3 中输入:
=IF(B2=1,12,B2-1)
并复制。然后向下复制 B3 到 M3 :
EDIT#1:
如果我们确保 row#1 始终为空(如我在示例中所示),我们可以使用单个公式
在 B2 中输入:
=IF(B1="",COLUMNS($A:A),IF(B1=1,12,B1-1))
先将其复制然后再向下复制。
EDIT#2:
应该有另一种方法(不使用IF()
语句)使用ROWS()
,COLUMNS()
和MOD()
函数来获得相同的结果桌子。
如果您拥有Excel 365,甚至可以使用SEQUENCE()
。
也许其他人可以看到它。