Excel 如果存在';这是一个价值观
我有一个带有ID列和6个其他值列的表:Excel 如果存在';这是一个价值观,excel,Excel,我有一个带有ID列和6个其他值列的表: A B C D E F G ID Col1 Col2 Col3 Col4 Col5 Col6 001 123 456 789 002 901 234 567 890 123 456 我正在寻找一个公式,该公式将ID与任何列的值连接起来,并用破折号分隔(在本例中) 即 只是,我不想把破折号放在没有任何值的单元格旁边 所需的输出应该如
A B C D E F G
ID Col1 Col2 Col3 Col4 Col5 Col6
001 123 456 789
002 901 234 567 890 123 456
我正在寻找一个公式,该公式将ID与任何列的值连接起来,并用破折号分隔(在本例中)
即
只是,我不想把破折号放在没有任何值的单元格旁边
所需的输出应该如下所示
001-123-456-789
002-901-234-567-890-123-456
根据我使用的公式,它看起来是这样的:
001-123-456-789---
002-901-234-567-890-123-456
例如:
=IF(A2<>"","-"&A2,"")&IF(B2<>"","-"&B2,"")&IF(C2<>"","-"&C2,"")&IF(D2<>"","-"&D2,"")&IF(F2<>"","-"&F2,"")&IF(G2<>"","-"&G2,"")
=IF(A2-“-”&A2-”)&IF(B2-“&B2-”)&IF(C2-“&C2-”)&IF(D2-“&D2-”)&IF(F2-“&F2-”&IF(G2-“&G2)”)
例如:
=IF(A2<>"","-"&A2,"")&IF(B2<>"","-"&B2,"")&IF(C2<>"","-"&C2,"")&IF(D2<>"","-"&D2,"")&IF(F2<>"","-"&F2,"")&IF(G2<>"","-"&G2,"")
=IF(A2-“-”&A2-”)&IF(B2-“&B2-”)&IF(C2-“&C2-”)&IF(D2-“&D2-”)&IF(F2-“&F2-”&IF(G2-“&G2)”)
如果您使用的是Excel 2016,您可以使用新函数:=TEXTJOIN(“-”,True,A2:G2)
在旧版本中,您可以创建UDF,或者在连接中使用一组If()
公式。我使用的是Office Excel 2010。它没有textjoin函数:/如果你在Excel 2016中,你可以使用新函数:=textjoin(“-”,True,A2:G2)
在旧版本中,你可以创建一个自定义项,或者在连接中使用一组If()
公式。我在Office Excel 2010中。它没有textjoin函数:/Long,但它做到了这一点。谢谢^。我没有想过使用&否则你可以让VBA函数有一个短函数来应用=>这意味着在ConcatRange中的每个n都有一个宏excelfunction concatenaterage(ConcatRange作为范围)作为字符串:nn=IIf(n=”,nn&“”,nn&n&“/”:Next concatenaterage=Left(nn,Len(nn)-1)End函数
Long,但它确实起了作用。谢谢^。我没有考虑过使用&否则你可以让VBA函数有一个短函数来应用=>这意味着对于ConcatRange中的每一个n都有一个宏excel函数concatenaterage(ConcatRange作为范围)作为字符串:nn=IIf(n=”,nn&“”,nn&n&“/”:Next concatenaterage=Left(nn,Len(nn)-1)End函数