cpl*_*lus 3 excel vba excel-vba excel-formula
我有以下数据结构:
正如您在第J列中看到的,我正在尝试将数据合并到A&C和E&G列中的一列中.
我正在使用这个公式:
=IF(ROW()<=COUNTA($A:$A);INDEX($A:$C;ROW();COLUMN(A1));INDEX($A:$C;ROW()-COUNTA($A:$A)+1;COLUMN(C1)))
Run Code Online (Sandbox Code Playgroud)
如你所见,我在K列中得到了值.目前这个公式只合并了两列.如何修改它以合并所有四列?
以及如何从第5行开始获取这些值?
柱高将不断变化:有时在A列中有10个值,有时有2个值.
任何excel公式或任何VBA代码都是可以接受的.
小智 7
有一种相当标准的方法可以从列中检索唯一值,但不能从多列中检索.要实现从多个列的检索,您需要将多个公式一起堆叠,并将处理传递给连续的列,前面的公式错误输出.

J5中的数组公式 ¹是,
=IFERROR(INDEX($A$5:$A$99, MATCH(0, IF(LEN($A$5:$A$99), COUNTIF(J$4:J4, $A$5:$A$99), 1), 0)),
IFERROR(INDEX($C$5:$C$99, MATCH(0, IF(LEN($C$5:$C$99), COUNTIF(J$4:J4, $C$5:$C$99), 1), 0)),
IFERROR(INDEX($E$5:$E$99, MATCH(0, IF(LEN($E$5:$E$99), COUNTIF(J$4:J4, $E$5:$E$99), 1), 0)),
IFERROR(INDEX($G$5:$G$99, MATCH(0, IF(LEN($G$5:$G$99), COUNTIF(J$4:J4, $G$5:$G$99), 1), 0)),
""))))
Run Code Online (Sandbox Code Playgroud)
我只包括A,C,E和G列,因为您的样本数据仅显示B,D,F和H列中的重复项.
¹ 数组公式需要用Ctrl+ Shift+ 完成Enter↵.如果输入正确,Excel将公式括在大括号中(例如{和}).您不要自己键入大括号.一旦正确进入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们.尝试并减少对更接近表示实际数据范围的范围的全列引用.数组公式以对数方式计算计算周期,因此将参考范围缩小到最小值是一种好习惯.有关更多信息,请参阅数组公式的指南和示例.
| 归档时间: |
|
| 查看次数: |
5964 次 |
| 最近记录: |