如果有人能帮助我解决以下问题,将不胜感激。我在一行中有一系列单元格,并希望将每个单元格匹配到同一行中的相应列(具有相同的标题)。所有数据都在同一张纸上。
为便于参考,我有以下格式的数据
ACT001 | ACT002 | ACT003 | ADV001 | ADV002 | ADV003 | G | H | I
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
| | | | | | ACT001 | |
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
| | | | | | ACT001 | ADV001 |
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
| | | | | | ACT003 | ADV002 | ADV003
我希望用宏来实现以下目标:
ACT001 | ACT002 | ACT003 | ADV001 | ADV002 | ADV003 | G | H | I
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
ACT001 | | | | | | ACT001 | |
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
ACT001 | | | ADV001 | | | ACT001 | ADV001 |
------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
| |ACT003 | | ADV002 | ADV003 | ACT003 | ADV002 | ADV003
正如您所看到的,我想将列G-I中的单元格与相应的列和同一行中的单元格进行匹配。 以上只是一个小提取物。实际的表格更大。
我可以使用一系列IF语句和FIND公式来完成上述操作,但希望能够更快地使用宏。感谢任何帮助。 感谢
答案 0 :(得分:0)
我认为使用公式比使用VBA脚本要快得多。即使是公式也不是很复杂。
假设这是你的表
| A | B | C | D | E | F | G | H | I
| ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------ | ------
1 | ACT001 | ACT002 | ACT003 | ADV001 | ADV002 | ADV003 | G | H | I
2 | | | | | | | ACT001 | |
3 | | | | | | | ACT001 | ADV001 |
4 | | | | | | | ACT003 | ADV002 | ADV003
IF
语句将以下公式写入单元格A2
:
=IF($G:$G=A$1,$G:$G,IF($H:$H=A$1,$H:$H,IF($I:$I=A$1,$I:$I,"-")))
然后将其复制到A2:F4
HLOOKUP
将以下公式写入单元格A2
:
=IFNA(HLOOKUP(A$1,$G2:$I2,1,FALSE ),"-")
然后将其复制到A2:F4
无论您拥有多少列,第二种解决方案都应该是相同的长度。每增加一列,第一个就会变长。
请注意:在这些公式中正确使用$
修复某些行/列,可以将一个公式复制到整个范围内。