2016-11-04 15 views
0

条件文に基づいて連結しようとしている列がいくつかあります。私が持っている列は次のようになります:Excel条件付き連結

Col 1 Col 2 Col 3 Col 4 Col 5 
    73  NA  NA  NA  NA 

"NA"がないか空白のセルを連結しようとしていますか?私は、次のコード行きます。カラム1は常に数になります。

73 

はしかし、私は

73, NA 

注意を取得

=IF(OR(B2<>"",B2<>"NA"),CONCATENATE(A2,",",B2),IF(OR(C2<>"",C2<>"NA"),CONCATENATE(A2,",",B2,",",C2),IF(OR(D2<>"",D2<>"NA"),CONCATENATE(A2,",",B2,",",C2,",",D2),IF(OR(E2<>"",E2<>"NA"),CONCATENATE(A2,",",B2,",",C2,",",D2,",",E2),0)))) 

所望の出力維持されます。

+0

どのExcelをお使いですか? –

+0

すべてのステートメントでAND()またはOR()を使用しないでください。 –

+0

@ScottCranerはOffice 365からExcelを使用しています。 –

答えて

0

代わりにこれを試してみてください:

=LEFT(IF(AND(A1<>"",A1<>"NA"),A1 & ",","") & IF(AND(B1<>"",B1<>"NA"),B1 & ",","") &IF(AND(C1<>"",C1<>"NA"),C1 & ",","") &IF(AND(D1<>"",D1<>"NA"),D1 & ",","") &IF(AND(E1<>"",E1<>"NA"),E1 & ",",""),LEN(IF(AND(A1<>"",A1<>"NA"),A1 & ",","") & IF(AND(B1<>"",B1<>"NA"),B1 & ",","") &IF(AND(C1<>"",C1<>"NA"),C1 & ",","") &IF(AND(D1<>"",D1<>"NA"),D1 & ",","") &IF(AND(E1<>"",E1<>"NA"),E1 & ",",""))-1) 

enter image description here


編集:

それはあなたのデータのロードかのように順次列で表示されます。あなたはOffice 365のExcelを使用している場合は、配列数式としてTextJoin使用

=A1 & IF(AND(B1<>"",B1<>"NA"),"," & B1,"")& IF(AND(C1<>"",C1<>"NA"),"," & C1,"")& IF(AND(D1<>"",D1<>"NA"),"," & D1,"")& IF(AND(E1<>"",E1<>"NA"),"," & E1,"") 

編集#2

:あなたはに式を簡素化することができます

配列数式なので
=TEXTJOIN(",",TRUE,IF((A1:E1<>"NA")*(A1:E1<>""),A1:E1,"")) 

編集モードを終了するときにEnterの代わりにCtrl-Shift-Enterを押して確認する必要があります。正しく実行された場合、Excelは{}を数式の周りに置きます。

+0

2番目の編集では、列が空の場合、結果は'73、0,0,0,0 'になります。 –

+0

@SageMohan編集を参照してください –

0

B2が "NA"の場合、ORのロジックを逆にします。