如何在 Excel 中执行重复函数?
我想要的图案是:(垂直)
=a1 =b1 =c1 =a2 =b2 =c2 =a3 =b3 =c3
依此类推。这将持续到:
=a400 =b400 =c400
答案1
执行以下步骤:
- 将此公式放入您需要的 1,200 个单元格中(400 个行号 * 3 个列字母 = 1,200):
=IFS(MOD(ROW(),3)=1,"=A",MOD(ROW(),3)=2,"=B",MOD(ROW(),3)=0,"=C")&ROUNDUP(ROW()/3,0)
它们仍应全部突出显示。将它们复制到剪贴板。选择性粘贴,值。
同样,它们仍然应该全部突出显示。查找
Find and Replace
并将=
其替换为自身(因此=
在查找和替换框中)。
完毕。
公式由两部分组成,用于构建要转换为公式的字符串。第一个是字母,用于IFS()
在三个选项之间进行选择。在这样做时,MOD()
用于决定给定行属于模式中的三种可能性中的哪一种。测试的顺序通常很重要,因为测试IFS()
实际上是在筛选各种可能性,并依靠筛选的逻辑来简化测试。但在这种情况下并非如此,因为您只需要在三种简单的可能性之间做出决定,每种可能性都完全排除其他可能性。
后半部分查找要与IFS()
生成的列字母连接/串联的行号。它只是除以三并向上舍入。一点也不复杂!
至于技术,基本上就是构建需要转换为公式的字符串。生成它们后,使用选择性粘贴值将它们转换为文字文本字符串(所有“公式”方面都消失了,现在只有结果字符串)。最后,您强制 Excel 将其对这些字符串的处理从“您是文本字符串”更改为“您是公式”。然后就完成了。
(如果 Excel 是一个完整的程序,而不是一个具有奇怪……缺陷的程序……你会有一个函数,比如说TEXTTOFORMULA()
,你将显示的公式包装在其中,它就会做到这一点。在一个美妙的世界里,它甚至允许两步选择性粘贴,以我想到的三种方式之一,其中第一种会单独特殊粘贴生成的公式,然后立即再次执行此操作会将结果值放入单元格中。第二种是它会使用它的选择性粘贴,公式,在这种情况下,将结果公式放在单元格中。第三种方法是你只需做两次,第一次放置这个公式的结果 - 实际生成的公式,但作为公式,而不是文本 - 第二次复制,粘贴,特殊会将其生成的值放在单元格中。)
答案2
这种展开使用 INDEX 可以轻松将 2D 表转换为 1D 列。假设您从第 1 行开始,我们使用当前行号作为表中的索引,将其除以 3 并除以 3 取模,将其拆分为 x 和 y:
=INDEX($A:$C, INT((ROW()-1)/3)+1, MOD(ROW()-1,3)+1)