答案1
以下公式将创建您需要的列。
您的描述清楚地表明您正在填充正式表格,因此我以不使用功能的方式进行了填充,SPILL
因为这在表格中不起作用。
=INDIRECT("A" & ROUNDUP(ROW()/2, 0)) & "_x" & IF(MOD(ROW(),2)=1, 1, 2)
源单元格寻址是通过使用INDIRECT()
您根据列字母和公式创建的字符串来执行的。该公式取行号并除以 2,然后向上舍入。除以 2 可得到每个输入的对。如果每组需要 5 个项目,则除以 5,等等。
“_x1”和“_x2”中所需的“1”或“2”值是通过另一个算术运算获得的,这次MOD()
使用 2 作为除数,因此得到 1(奇数行)或 0(偶数行)。IF()
测试哪个是 1 或 2,并给出构建该部分字符串的正确 1 或 2。
(如果您没有使用表格但想要功能,您可以使用而不是生成要除的数字来做SPILL
同样的事情,或者更棘手的是,您可以使用它直接生成行值。)SEQUENCE()
ROW()
答案2
你可以尝试这个:
单元格 B42 中的数组(CSE)公式:
{=INDEX($A$42:$A$45, MATCH(FALSE, COUNTIF($B$41:B41, $A$42:$A$45)=2, 0))}
完成配方Ctrl+Shift+Enter,并向下填充直至需要为止。
2帮助单元格中的公式
B42
重复值A42:A45
,并且可编辑。单元格 C42 中的公式:
=IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",IF(COUNTIF(B$42:$B42,$B42)=2,B42&"_x2",""))
或者你也可以使用这个:
=IF(COUNTIF(B$42:$B42,$B42)=1,B42&"_x1",B42&"_x2")
注意:
- 根据需要调整公式中的单元格引用。
- 为了整洁起见,您可以隐藏帮助栏。