表格或 Excel 中的排序函数

表格或 Excel 中的排序函数

如何在 Excel 中执行重复函数?

我想要的图案是:(垂直)

=a1 =b1 =c1 =a2 =b2 =c2 =a3 =b3 =c3

依此类推。这将持续到:

=a400 =b400 =c400

表格中的示例

答案1

执行以下步骤:

  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)

  1. 它们仍应全部突出显示。将它们复制到剪贴板。选择性粘贴,值。

  2. 同样,它们仍然应该全部突出显示。查找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)

相关内容