Excel - 单元格值在第一行匹配,在具有多列的一行上返回值

时间:2017-01-05 20:48:51

标签: excel excel-formula match excel-2013 worksheet-function

以下解释了我遇到的困难:

A栏:列出不同公司的地址簿号码(1234,1235,1236等)
B列:列出电话类型(手机,传真,家庭)
C栏:列出公司电话号码

  来自 A列

地址簿号码会在多行中重复出现(由于某些公司有多个电话号码 C栏)...因此,我希望整合相同的地址簿号(到一行),并且每个电话号码都与附加列中的相同地址编号(在该行内)。

当前Excel表:

AddressBookNumber  PhoneType  PhoneNumber
1234               CELL       (444)444-4444
1235               FAX        (777)777-7777
1234               OFFICE     (000)000-0000
1236               FAX        (222)222-2222
1234               HOME       (555)555-5555
1236               OFFICE     (111)111-1111

希望我的Excel表格如下:

|AddressBookNumber | PhoneType1 | PhoneNumber1  | Phone Type2 | PhoneNumber2  | PhoneType3 | PhoneNumber3  |
|1234              |CELL        | (444)444-4444 | OFFICE      | (000)000-0000 | HOME       | (555)555-5555 |
|1235              |FAX         | (777)777-7777 |             |               |            |
|1236              |FAX         | (222)222-2222 | OFFICE      | (111)111-1111 |            |

基本上,我需要将一个公司的电话号码全部放在一行..我将非常感谢我应该使用的公式的任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

要获取唯一列表,请使用此数组公式将其放在F2:

=IFERROR(INDEX($A$2:$A$7,MATCH(0,COUNTIF($F$1:F1,$A$2:$A$7),0)),"")

在退出编辑模式而非Enter时按Ctrl-Shift-Enter。然后复制/向下拖动直到你得到空白。

并将数字放在G2中:

=IFERROR(INDEX($B$2:$C$7,MATCH(1,(COUNTIFS($E$2:E2,$B$2:$B$7,$F$2:F2,$C$2:$C$7)=0)*($A$2:$A$7=$F2),0),MOD(COLUMN(A:A)-1,2)+1),"")

在退出编辑模式而非Enter时按Ctrl-Shift-Enter。然后复制/向下拖动直到你得到空白。

enter image description here