データを結合する(ただし空白セルは無視する)


2

私はExcelでテキストデータの異なるセルを組み合わせることを考えています。私は現在式を使っています:

=J3&", "&K3&", "&L3&", "&M3

すべてのセルにテキストが含まれている場合、結果はまさに私が欲しいものです。

ただし、データが含まれていないセルがある場合があります。現時点では、セルにデータがない場合、私の数式は "、、、"を返します。データを含まないセルを無視するように数式を書き換える方法はありますか?

回答:


3

Office 365 Excelではこれが簡単になります。

Office 365 ExcelにTEXTJOIN()が導入されました

=TEXTJOIN(", ",TRUE,J3:M3)

あり TRUE 2番目の基準として、自動的にすべての空白をスキップします。

注:私はOP状態Excel 2010を知​​っています、これは将来の読者のためのものです。


0

追加してみてください IF() 各セルへのステートメント:

=IF(J3<>"";J3;"")&(IF(K3<>"";", "&K3;""))&(IF(L3<>"";", "&L3;""))&(IF(M3<>"";", "&M3;""))

最初の式のわずかな変更に注目してください IF() ステートメント。


これで文字列が始まります。 ; J3が空白の場合は、 ; J3に接続し、MID()を使用して2番目の文字から開始します。 ; 追加されません。
Scott Craner

@ScottCranerいいえそれは文句を言わない。それゆえ、私のコメントは「わずかな変化に気付く...」と私は修正しました。ただし、J3とK3の両方が空白の場合は、aで始まります。
Kevin Anthony Oppegaard Rose

すみません , J3が空の場合は前面に表示されます。見る ここに
Scott Craner

0

これを試して:

=CONCATENATE(  IF(ISBLANK(J3),"",J3&", "),  IF(ISBLANK(K3),"",K3&", "),  IF(ISBLANK(L3),"",L3&", "),  IF(ISBLANK(M3),"",M3))

Microsoft ExcelのISBLANK関数を使用して、空白またはNULL値を確認できます。

ここに ISBLANK() cellが値を持っているかどうかを調べるためにfunctionが使われます。値がない場合は空白 "" 結果に文字列が追加されます。それ以外の場合は、セル値と文字列 ", " が追加されます。


あなたの貢献をありがとう。これを説明できますか? :)
bertieb

あなたは正しい軌道に乗っています、しかし現在の値にコンマを連結することはその後に値がないなら余分なコンマを残すでしょう。
fixer1234

0

Scottは、新しいバージョンのExcelに最適なソリューションを紹介しています。他の3つのソリューション(これまで)は、どのバージョンのExcelでも機能する単純な関数を使用しています。ただし、区切りカンマは実際にはこれらの式が扱うよりも少し複雑です。そのスタイルの解決策でこれを達成するには、各コンマに対していくつかのロジックが必要です。

現在値と欠損値の可能な組み合わせは次のとおりです。

enter image description here

最初の行は欠損値ではありません。次の4行には、それぞれの可能な位置に1つの欠損値があります。次の6行には、それぞれ可能な位置に2つの欠損値があります。それから、4行の3つの欠損値、そして最後にすべての欠損値。必要な場所、および必要な場所にだけコンマを取得するには、各コンマにロジックが必要です。

これを行う最も簡単な方法は、「次の」値にコンマを関連付けることです。各コンマ位置では、その前に値がなければコンマはありません(これは各位置で異なる場合です)。先行する値がある場合、次の位置に値がある場合にのみコンマが必要です。したがって、コンマロジックは次のようになります。

First comma:   =IF(J3="","",IF(K3="","",", "))        or  =IF(AND(J3<>"",K3<>""),", ","")
Second comma:  =IF(J3&K3="","",IF(L3="","",", "))     or  =IF(AND(J3&k3<>"",L3<>""),", ","")
Third comma:   =IF(J3&K3&L3="","",IF(M3="","",", "))  or  =IF(AND(J3&K3&L3<>"",M3<>""),", ","")

さまざまな値の組み合わせでパターンを説明するために、各コンマを別々の列に入れました。

enter image description here

解決策は、値をコンマで連結します(または、存在しない場合は空白にします)。読みやすくするために、数式セルへの参照としてカンマを挿入した数式を次に示します。

=IF(J3="","",J3) &N3 &IF(K3="","",K3) &O3 &IF(L3="","",L3) &P3 &IF(M3="","",M3)

結果の式にコンマ式を代入すると、次のようになります。

=IF(J3="","",J3) &IF(AND(J3<>"",K3<>""),", ","") &IF(K3="","",K3) &=IF(AND(J3&k3<>"",L3<>""),", ","") &IF(L3="","",L3) &=IF(AND(J3&K3&L3<>"",M3<>""),", ","") &IF(M3="","",M3)

enter image description here


-2

連結式を取得する空白セルにこの数式を入力します。

=IF(LEN(TRIM(J3))=0,",",J3)&IF(LEN(TRIM(K3))=0,",",K3)& IF(LEN(TRIM(L3))=0,",",L3)& IF(LEN(TRIM(M3))=0,"",M3)

あるいはこれを使うこともできます、

=TRIM(J3 & K3 &","& L3&","&M3)

N.B. 上記の例では、セルJ3は空白セルではないので、必要に応じてセルアドレスを調整してください。


1
あなたの最初の式は、あなたの20時間前に投稿されたKevinのソリューションとほぼ同じです。 2番目と3番目の式では、質問のように項目間に区切り記号は追加されません。実際に質問に回答し、既存の回答と比較して新しい情報を提供する場合にのみ回答を投稿してください。
Máté Juhász

@MátéJuhász、実際、私はKevinの答えに気付いていないし、私の2番目の式ではカンマの代わりに空白だった。今、私は2ndとamp;の両方を編集しました。第3式そして私はより広い範囲の文脈で3つの異なる例を示しました。 :-)
Rajesh S

最初の式は、欠損値(OPが修正しようとしているもの)があるすべての場所に不要なコンマを挿入し、分離する実際の値がある場合はコンマを挿入しないため、正しくありません。 2番目の式は、OPが修正しようとしている問題を複製したもので、両方に値がある場合はJ3とK3の間のコンマを除外します。実際に例を作成し、これらの式を欠損値の有無にかかわらずテストした場合、質問を読むと答えが悪いことがすぐにわかります。
fixer1234

私はスクリーンショットをアップロードできると感じたら@ fixer1234、両方の式が正しく機能している。
Rajesh S

非常に多くの人がこれを間違えたので答えを投稿しました。考えられる組み合わせについて使用した例を使用し、それに対して式をテストします。あなたの答えのどちらの式も質問が求めるものをしていないことがわかります。
fixer1234
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.