如果有价值,则连接

我有一个ID列和6个其他值列的表:

ABCDEFG ID Col1 Col2 Col3 Col4 Col5 Col6 001 123 456 789 002 901 234 567 890 123 456 

我正在寻找一个公式,将连接ID​​与任何列有价值,用破折号分开(在这个例子中)。

即。

 =CONCATENATE(A2,"-",B2,"-",C2,"-",D2,"-",E2,"-",F2,"-",G2) 

只是,我不想把破折号放在没有任何价值的单元格旁边。

所需的输出应该如下所示

 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,"")