• ベストアンサー

Excel 文字列の結合について

いつもお世話になってます。 Win2000 Office2000です。 文字列を結合するのに=A1&A2などで結合できますが片方が空白だった場合に空白を返すことは可能でしょうか? 正確には2行目が入ってたり入ってなかったりしてるので     A列   B列   C列 1行目 りんご イチゴ  桃 2行目 赤い       甘い これで=A1&A2と入れて他もフィルドラッグでやると 別シートA1:りんご赤い 別シートA2:イチゴ0 別シートA3:桃甘い これで「イチゴ0」となってますが空白にしたいのです。 探し方が悪かったのか過去ログで見つからず、お知恵を拝借できたらと思います。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

本来、空白であれば0は出ないはずです。一度B2の値を確認してみてください。 それでも出る場合は、   IF(A1=0,"",A1) & IF(A2=0,"",A2) とすれば0は出ないはずです。

makirabi
質問者

お礼

回答ありがとうございました。 この式で希望どおりにできました。 最初によく理解できなくて訳のわからない補足居れちゃってすいませんでした。

makirabi
質問者

補足

質問の仕方が悪くてすいません^^; B2に0は入ってますね(ゼロ値のチェック外してますが) 他のシートを参照させてるもんで。 それで0があった場合は全て空白で反映させたいんですが。難しいでしょうか? A1(りんご)&A2(赤い)=「りんご赤い」 B2(イチゴ)&B2(0)=「イチゴ0」→「(空白)」

その他の回答 (3)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.4

=IF(OR(A1=0,A2=0),"",A1&A2) または =IF(OR(B1=0,B2=0),"",B1&B2)

makirabi
質問者

お礼

回答ありがとうございます。 なるほど、ORも組み合わせてできるんですね。 勉強になりました。

  • flw
  • ベストアンサー率28% (30/105)
回答No.3

ANo.2です すいません、B1じゃなくてA2でした^^; =IF(A2=0,"",A1)&IF(A2=0,"",A2)

  • flw
  • ベストアンサー率28% (30/105)
回答No.2

こんにちは。 初めは質問が良く分からなかったのですが、補足を読んで理解しました。 =IF(B1=0,"",A1)&IF(B1=0,"",B1) これでいかがでしょうか? それとももっとバリエーションがあるのでしょうか?

makirabi
質問者

お礼

回答ありがとうございました。 複数あったんですがIFを組み合わせて作れました。^^

関連するQ&A

  • Excel:条件付き文字列の結合方法

    Excel本当の初心者です。ヘルプなど使って、自分なりにがんばって 考えたのですが、やりたいことがどうしてもできず、お力を貸して ください! やりたいのは、下記の通りです。 Sheet1のような表があります。カテゴリー毎にID が 付いていて、表は20,000行位あります。 同じID(カテゴリー)のものは、C列の商品名を”、”で 結合して、1行にまとめたいのです。 Sheet2のような結果を得たいのです。 Sheet1 A列     B列     C列 ID      カテゴリー  商品名 12345    くだもの   りんご 12345    くだもの   みかん 12345    くだもの   イチゴ 67891    野菜     いんげん 23456    お菓子    チョコ 23456    お菓子    お煎餅 Sheet2 A列     B列     C列 ID      カテゴリー  商品名 12345    くだもの   りんご、みかん、イチゴ 67891    野菜     いんげん 23456    お菓子    チョコ、お煎餅 Sheet1のA列とB列を「フィルタの重複レコードを無視する」を したものをSheet2のA列とB列に貼り付けて、ISNUMBERとFIND を使ってと思ったのですが、Sheet2のC列で商品名の結合を"、 " で結合しようと思ったのですが、重複IDがない物もあれば、 10個も20個もあるものもあるので、CONCATENATEではできなくて... どんな関数を使えば良いのでしょうか? それと、事前にSheet1にフィルタをかけてSheet2に貼り付けたり ぜずに、Sheet2のA列とB列とも関数でやる事はできるのでしょうか? あともうひとつ、教えてただきたい事があります。 いつも一番上の行に式を入れて、下にドラッグすることで 下の行にコピーしているのですが、20,000行もあるので この方法だと大変なので、行数をしていして、コピーする 方法とかあれば教えてください! 一度にいくつもすみませんが、教えてくださると 嬉しいです。

  • エクセル VLOOKUP うまくできない

    シート1のA列に りんご みかん いちご シート2のA列に名前、B列に金額 りんご 100 みかん 200 いちご 300 と入力しています。 シート2から同じ名前の金額を探し出し シート1のB列に入力したいのですが うまくいきません。 シート1のB列に =VLOOKUP(A1,シート2!$A$1:$B$3,2) とし、下までオートフィルしました。 しかしシート1の結果は りんご 300 みかん 200 いちご #N/A となります。 シート1にも、りんごが100としたいのですが どうすればいいでしょうか? よろしくお願いします。 (図はシート1です)

  • Excel結合されているところ

    添付している画像のように、Excelのシートが2つあります。 オートフィルを利用して、シート2のA列からシート1のA列に名前を飛ばしたい場合、結合されているため、飛び飛びの状態で順番に反映できません。 本来は、=Sheet2!A3にしたいところ、現在は=Sheet2!A4になっています。 どなたか良い方法がありませんか? 結合を解除することは避けたいのでよろしくお願いします。

  • エクセル VBA 特定の文字列

    エクセル VBA 特定の文字列 A列に、様々な文字列があるとします。 そのうち、りんごと書かれている行のみを別シートに書き出すマクロを教えてください。 お願い致します。

  • エクセル印刷で上下の結合セルが別ページにならない方法?

    エクセル2000です。 一枚のシートに表が複数あります。 表中のセルはすべて数式が入っています。 A列は続き番号がふってあります。 B列~E列は上下のセルが結合しています。(2行分) F列は結合していません。 G列は上下の結合あります。(2行分) このような様式の表が、同一シートに1行あけて上から下へ続いています。 しかも、計算結果により表中の行が空白になる場合がよくあります。 その場合、は表中の空白行は非表示になるようにマクロで設定しています。 このシートを印刷した場合、2行を上下で結合したセルが、別ページに分かれてしまうことがよくあります。計算結果で表示がかわるので改ページを事前に入れておけません。 結合セルがページで分割されないようにするにはどうしたらよいでしょうか?

  • Excel VBA - 空白の結合

    以下のようなExcelのシートがあります。 A2からC7を選択した後、マクロを走らせて空白セルを結合したいです。   A B C 1 (空白) DDD (空白) 2 ABC 123 (空白) 3 (空白)(空白)(空白) 4 DEF GHI DEF 5 (空白)(空白)(空白) 6 (空白) 789 123 7 (空白)(空白)(空白) 8 GHI JKL MNO A3はA2と結合、A5,6,7はA4と結合、B列、C列も同様です。 要は、空白セルを上にある値の入ったセルと結合したいのです。 ただ、C2が選択範囲外のC1と結合すると困るので、先頭行の空白は、上の選択範囲外セルと結合しないようにしたいです。C2とC3は、結合しませんが、結合する仕様でも問題ありません。 (A2と同じ値をA3に入れた方がいいという意見があると思いますが、会社の表なので結合しないといけません。) ※以前、似たような質問をしましたが、少し違います。(これは未解決です。)

  • Excelでの文字列抽出

    Excelで文字列の抽出とそれを並べる方法を教えてください。 関数だけを用いて実現できるのか、マクロを使わなければできないのかも分かりません。 この関数をこの様に使えばよいというのを教えていただけると幸いです。 やりたいことは、下記条件で、シート2のB列にシート1のG列~P列までに登録されている担当者名に該当するB列の店名を4店まで抽出したいのです。 分かりづらくて申し訳ございませんが、よろしくお願い致します。 ------------------------ シートが2枚(シート1/シート2)あります。 シート1  B列は4行毎に結合されており、店名が登録されています。  G列~P列までは1行目は担当者名、2,3,4行目は補足情報が登録されています。  シート2  A列に担当者名が入っています。(4行毎に結合しています)  B列にA列の担当者名に該当する、シート1の店名を4店まで登録したい。

  • エクセルで列Aの同じ値のものを15行ずつ表示したい

    「エクセルで同じ列の値のものを15行ずつ表示したい」というタイトルではきちんと表現できませんでしたが、 以下のことはできますでしょうか?    A   B   C 1 りんご  1   100  ・・・ 2 りんご  9   100  ・・・ 3 みかん  4   70  ・・・ 4 なし   3   110  ・・・ 5 なし   1   110  ・・・ 6 なし   5   110  ・・・ といったシートがあるとします。 これを「A」の列を基準に15列ずつに分けたいと思います。    A   B   C 1 りんご  1   100  ・・・ 2 りんご  9   100  ・・・ ・・・15まで空白 16 みかん  4   70  ・・・ ・・・30まで空白 31 なし   3   110  ・・・ 32 なし   1   110  ・・・ 33 なし   5   110  ・・・ ・・・45まで空白 何かよい方法があれば教えてください。 よろしくお願いいたします。

  • Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付け

    Excelで、A列、B列の値を新しいシートに3行ごとにどんどん貼り付ける。 という事をしたいのですが、VBAを始めたばかりなので上手く書くことが出来ません。 例)    A列   B列   101  りんご    102  ぶどう   103  オレンジ   104   桃   105  バナナ      ・      ・      ・ これを別のシートに    A列   B列   101  りんご (2行あける)   102  ぶどう (2行あける)   103  オレンジ (2行あける)    104   桃 (2行あける)    105  バナナ      ・      ・      ・ と表示したいのです。 現在は下記のようなリンクで表示していますが、 件数が少ない時は4件から多い時は800件と幅があります。 出来れば表の一番下(空欄になる部分)まで繰り返し処理をしたいと思っています。 セルの中身が表示されるならリンクでもコピーでも構いません。 現在のマクロ Sub Macro2() Worksheets("Sheet2").Select Range("C11").Value="=Sheet1!A2" Range("C14").Value="=Sheet1!A3" Range("C17").Value="=Sheet1!A4" Range("C20").Value="=Sheet1!A5" Range("C23").Value="=Sheet1!A6" Range("H11").Value="=Sheet1!B!" Range("H14").Value="=Sheet1!B2" Range("H17").Value="=Sheet1!B3" Range("H20").Value="=Sheet1!B4" Range("H23").Value="=Sheet1!B5" End sub 45行分まで書いたところで途方に暮れております。 よろしくお願いいたします。

  • Excelでセル文字列に応じて他シートからコピペ

    Excelで、 シート1には「ある値の羅列」 シート2には「特定の値についての詳細説明が複数セルにわたって記載されている」 という構成になっているとき、 シート1のセル内の部分的な値と一致する、シート2の特定のセル (詳細説明の中で必要なセルのみ)をシート1の値の横のセルから右方向に コピーアンドペーストしたいと考えています。 具体的には シート1の、A列のセル内に以下のように「:」で区切った情報の羅列が数千行分 入力されています。     A                  B 1 商品名:リンゴ:渋谷店:在庫有り  (空白セル) 2 商品名:みかん:新宿店:在庫無し  (空白セル) 3 商品名:メロン:池袋店:在庫有り  (空白セル)    ・    ・ シート2には      A     B     C     D     E      1 イチゴ      赤   甘酸っぱい  春     高価   ・・・ 2 みかん      橙   甘酸っぱい  冬     安価   ・・・ 3 リンゴ      赤    甘い    冬     普通   ・・・ 4 メロン      緑    甘い    夏     高価   ・・・ 5 バナナ      黄色   甘い    ?     普通    ・    ・    ・ という風に、ある値に対する詳細説明が列方向に記載されています このとき、シート1のA1のある値(リンゴ、みかん 等)に対応した シート2の説明行のうち、ある一定の部分(D列より右がわ)を、 シート1のB列より右に一括でコピーアンドペーストできないでしょうか? 出来上がりの希望は以下の通りです。     A                  B      C   ・・・ 1 商品名:リンゴ:渋谷店:在庫有り     冬     普通  ・・・ 2 商品名:みかん:新宿店:在庫無し     冬     安価  ・・・ 3 商品名:メロン:池袋店:在庫有り     夏     高価  ・・・    ・    ・    ・ 従来ははいちいちシート1のA列の値をコピーし、シート2で検索、 該当する情報をドラッグしてコピー、シート1の戻ってB列にペースト、 という作業を行っていました。 しかし今回、シート1の内容が数千行もあるため、できればマクロや関数でなんとかできれば、 と思っています。 この作業の自動化に付き、ご存知の方、お教えいただきたくお願いいたします。

専門家に質問してみよう