我需要帮助Excel匹配多个列(此处为3列),并为值分配代码(如果它们是唯一的或重复或一式三份)以及它们所在的列。为了更清楚,我提供了一个示例以及代码,如下所示:
| A | B | C | D | E |
| 11| 22| 22| 11| |
| 22| 44| 11| 22| |
| 33| 77| 33| 33| |
| 44| 99| 88| 44| |
| 55| 33| 99| 55| |
| 66| | | 66| |
| | | | 77| |
| | | | 88| |
| | | | 99| |
数据的整体描述是A,B和C列包含数据,而D列包含A,B和C列的所有唯一值.IE列,我想要唯一值的代码基于它们在列的类型中的出现以及发生的次数。 If条件和代码如下:
如果所有三列A,B和C中都存在值,则编码" T"
如果值存在于两列A和B中,则编码" U"
如果值存在于两列A和C中,则编码" V"
如果值存在于两列B和C中,则编码" W"
如果值仅存在于A中,则代码为" X"
如果值仅存在于B中,则代码为" Y"
如果值仅存在于C中,则代码为" Z"
因此,代码应在E列中,预期输出应如下所示:
| A | B | C | D | E |
| 11| 22| 22| 11| V|
| 22| 44| 11| 22| T|
| 33| 77| 33| 33| T|
| 44| 99| 88| 44| U|
| 55| 33| 99| 55| X|
| 66| | | 66| X|
| | | | 77| Y|
| | | | 88| Z|
| | | | 99| W|
我尝试在Excel-2010中使用嵌套if与MATCH,AND和NOT条件,但没有任何结果。我有大量的数据需要解决,因此不能手动完成。
请帮我解决这个问题。
提前感谢你。
Ashalatha
答案 0 :(得分:1)
很长的公式。我确信必须有一种更简单的方法:
=IF(AND(IFERROR(MATCH(D1,A:A,0),0)<>0,IFERROR(MATCH(D1,B:B,0),0)<>0,IFERROR(MATCH(D1,C:C,0),0)<>0)=TRUE,"T",IF(AND(IFERROR(MATCH(D1,A:A,0),0)<>0,IFERROR(MATCH(D1,B:B,0),0)<>0,IFERROR(MATCH(D1,C:C,0),0)=0)=TRUE,"U",IF(AND(IFERROR(MATCH(D1,A:A,0),0)<>0,IFERROR(MATCH(D1,B:B,0),0)<=0,IFERROR(MATCH(D1,C:C,0),0)<>0)=TRUE,"V",IF(AND(IFERROR(MATCH(D1,A:A,0),0)=0,IFERROR(MATCH(D1,B:B,0),0)<>0,IFERROR(MATCH(D1,C:C,0),0)<>0)=TRUE,"W",IF(AND(IFERROR(MATCH(D1,A:A,0),0)<>0,IFERROR(MATCH(D1,B:B,0),0)=0,IFERROR(MATCH(D1,C:C,0),0)=0)=TRUE,"X",IF(AND(IFERROR(MATCH(D1,A:A,0),0)=0,IFERROR(MATCH(D1,B:B,0),0)<>0,IFERROR(MATCH(D1,C:C,0),0)=0)=TRUE,"Y",IF(AND(IFERROR(MATCH(D1,A:A,0),0)=0,IFERROR(MATCH(D1,B:B,0),0)=0,IFERROR(MATCH(D1,C:C,0),0)<>0)=TRUE,"Z","")))))))
答案 1 :(得分:1)
另一个很长的公式:
=IF(ISNUMBER(MATCH(D1,$A$1:$A$10,0))=TRUE,IF(ISNUMBER(MATCH(D1,$B$1:$B$10,0))=TRUE,IF(ISNUMBER(MATCH(D1,$C$1:$C$10,0))=TRUE,"T","U"),IF(ISNUMBER(MATCH(D1,$C$1:$C$10,0))=TRUE,"V","X")),IF(ISNUMBER(MATCH(D1,$B$1:$B$10,0))=TRUE,IF(ISNUMBER(MATCH(D1,$C$1:$C$10,0))=TRUE,"W","Y"),IF(ISNUMBER(MATCH(D1,$C$1:$C$10,0))=TRUE,"Z","")))
根据需要拖放/复制,并根据您的数据更改范围。
参见图片以供参考