我使用什么公式将一列中相同的值传输到不同的列? 我还想将它与下一列的值配对。
Column A Column B
CAR 10
CAR 5
BUS 20
Bus 30
结果应为
Column A Column B column C column D
CAR 10 Bus 20
CAR 5 Bus 30
答案 0 :(得分:0)
它不是最漂亮的,但你可以在你想要结果的每个单元格中做这些方程式。这将在A列中查找并返回值CAR
以进行匹配。只需估算将返回多少个值。例如,将该等式复制并粘贴到第1-10行的第2页的A列中。如果没有匹配则返回空白。
=IFERROR(INDEX($A$1:$A$4, SMALL(IF("CAR"=$A$1:$A$4, ROW($A$1:$A$4)-MIN(ROW($A$1:$A$4))+1, ""), ROW($A1))), "")
在INDEX
之后更改数组以更改返回的内容。将此等式放在B列第1-10行中,以返回等效数值。
=IFERROR(INDEX($B$1:$B$4, SMALL(IF("CAR"=$A$1:$A$4, ROW($A$1:$A$4)-MIN(ROW($A$1:$A$4))+1, ""), ROW($A1))), "")
这些方程需要输入为Ctrl+Shift+Enter
然后更改每个值的等式以进行检查。
=IFERROR(INDEX($A$1:$A$4, SMALL(IF("BUS"=$A$1:$A$4, ROW($A$1:$A$4)-MIN(ROW($A$1:$A$4))+1, ""), ROW($A1))), "")
=IFERROR(INDEX($B$1:$B$4, SMALL(IF("BUS"=$A$1:$A$4, ROW($A$1:$A$4)-MIN(ROW($A$1:$A$4))+1, ""), ROW($A1))), "")
更新: 通过VBA实现这一目标会更容易,但我能想到的一种方法是使用
AA2=IFERROR(INDEX($A$2:$A$4, MATCH(0, COUNTIF($AA$1:AA1, $A$2:$A$4), 0)), "")
创建所有唯一值的新列表。此等式必须放在第2行而不是第1行,并使用Ctrl+Shift+Enter
输入。将此等式复制到比您具有唯一值的行更多的行中。然后将查找的值更改为此新列。因此,将"CAR"
更改为...IF($AA$2=$A1:$A$4
并将"BUS"
更改为...IF($AA$3=$A1:$A$4...