• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【エクセル】区切り位置で分割したセルを元に戻すには)

【エクセル】区切り位置で分割したセルを元に戻す方法

このQ&Aのポイント
  • エクセルで区切り位置で分割したセルを元に戻す方法についてご教授ください。
  • 具体的な例として、特定のデータが以下のように分割されている場合に、元のデータに戻す方法を教えてください。
  • 方法としては、IF関数を使ってブランクセルの場合に「,」をつけないように処理することが可能です。具体的な手順をご教授いただければ幸いです。

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

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

データが必ず左の列から詰まっているのでしたら、 D1セルには次の式を入力して下方にオートフィルドラッグすればよいでしょう。 =IF(A1<>"",A1,"")&IF(B1<>"",","&B1,"")&IF(C1<>"",","&C1,"")

koke_kokko
質問者

お礼

ご回答ありがとうございます。 結局手作業でやってしまったのですが 勉強になりました。 次回から参考にさせていただきます!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (8)

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.9

二つ考えてみました。 =CONCATENATE(A1,IF(B1="","","," & B1),IF(C1="","",","&C1)) =CHOOSE(COUNTA(A1:C1),A1,A1&"," &B1,A1&","&B1&","&C1) 3個以上になれば、ズラズラと長くする必要がありますが、上の方がスマートと感じます。

koke_kokko
質問者

お礼

ふたつも考えてくださってありがとうございます! 関数をネストするのが苦手で・・ CONCATENATEって関数はじめてみました。勉強します。 回答がたくさん寄せられているのに気付かず 結局手作業でやってしまったのですが 次回同じ作業が発生した時にはぜひ試してみたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.8

 データの中に、例えば「山田 太郎」等の様に、途中に空白を含んでいるデータが無い場合には、次の様な関数を使用して、御望みの結果を得る事が出来ます。 =SUBSTITUTE(TRIM($A1&" "&$B1&" "&$C1)," ",",")

koke_kokko
質問者

お礼

シンプルですね!どちらの関数もよく知らないので、勉強になります。 回答がたくさん寄せられているのに気付かず 結局手作業でやってしまったのですが 次回同じ作業が発生した時にはぜひ試してみたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

関数でやると式が長くなる。 VBAでCSVを「扱うとき、しょっちゅう出てくる課題なのでユ、ーザー定義関数を使いやってみる。 例データ  A2:C4の範囲 りんご なし みかん りんご りんご みかん ーー 標準モジュールに Function CSVC(a) Dim cl s = "" For Each cl In a If cl <> "" Then s = s & cl & "," End If Next CSVC = Left(s, Len(s) - 1) '最後の,を削除 End Function -- この関数の使い方 シートの E2セルに =csvc(A2:D2) D2はどの列まででも良いが本例ではD列までありえるとした場合 下方向に式を複写する。 結果 E列 りんご,なし,みかん りんご りんご,みかん E列が結果です

koke_kokko
質問者

お礼

ご回答ありがとうございます。 結局手作業でやってしまったのですが 勉強になりました。 次回から参考にさせていただきます!

全文を見る
すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! VBAになってしまいますが・・・ 一例です。 Sheet1のデータをSheet2に表示するようにしてみました。 ※ Sheet1のデータは1行目からあるとします。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面がでますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim str As String Dim ws As Worksheet Set ws = Worksheets(2) For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row For j = 1 To Cells(i, Columns.Count).End(xlToLeft).Column str = str & Cells(i, j) & "," Next j ws.Cells(i, 1) = Left(str, Len(str) - 1) str = "" Next i ws.Columns(1).AutoFit End Sub 'この行まで 以上、参考になれば良いのですが、 ご希望の方法でなかったらごめんなさいね。m(_ _)m

koke_kokko
質問者

お礼

マクロまで書いてくださってありがとうございます! 回答がたくさん寄せられているのに気付かず 結局手作業でやってしまったのですが 次回同じ作業が発生した時にはぜひ試してみたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • yugere
  • ベストアンサー率37% (48/127)
回答No.5

=IF(B1="",A1,A1&",")&IF(C1="",B1,B1&",")&C1 で、いかがでしょうか?

koke_kokko
質問者

お礼

ご回答ありがとうございます。 結局手作業でやってしまったのですが 勉強になりました。 次回から参考にさせていただきます!

全文を見る
すると、全ての回答が全文表示されます。
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

例えばC列までデータがあるのでしたら次の式をD1セルに入力して下方にオートフィルドラッグします。 =IF(A1<>"",A1,"")&IF(AND(B1<>"",A1<>""),","&B1,B1)&IF(AND(C1<>"",COUNTA(A1:B1)>0),","&C1,C1)

koke_kokko
質問者

お礼

ご回答ありがとうございます。 結局手作業でやってしまったのですが 勉強になりました。 次回から参考にさせていただきます!

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

A列を挿入して A1セルに =SUBSTITUTE(TRIM(CONCATENATE(B1," ",C1," ",D1," ",E1," ",F1," ",G1," ",H1," ",I1," ",J1," ",K1," ",L1," ",M1," ",N1," ",O1))," ",",") 下へオートフィル A列をコピーして メモ帳に貼り付け または、形式を選択して貼り付け 値の貼り付け

koke_kokko
質問者

お礼

ご回答ありがとうございます。 結局手作業でやってしまったのですが 勉強になりました。 次回から参考にさせていただきます!

全文を見る
すると、全ての回答が全文表示されます。
  • DIooggooID
  • ベストアンサー率27% (1730/6405)
回答No.1

一旦、csv形式のファイルにして保存し、・・・ =========   A    B    C     1 りんご なし  みかん 2 なし   3 みかん りんご =========  この Excelシートが、 ========= りんご,なし,みかん なし みかん,りんご =========  というファイルになります。  そのcsv形式のファイルの一行を1セルに読み込む方法ではダメ(面倒)ですか?

koke_kokko
質問者

お礼

ご回答ありがとうございます! その作業はぜんぜん面倒ではないのですが、 やりかたが悪いのか、教えていただいた通りになりません。 わたしがやると・・・ csv形式にして保存 ↓ エクセル(2007)で開いても同じようにセルはわかれたまま・・・ エクセルで開いたからくっついてくれないのかな? と思ってメモ帳やワードパッドで開いてみましたが 今度は なし,, みかん,りんご, という感じで後ろに,がついてしまいます。 なにか間違ってますでしょうか? あるいは 作業列を足したり、何ステップか踏んだりしてもいいので ほかのやり方はありますか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの【区切りの位置】の活用について

    【結論】列に配置したい。 エクセル 2010使用です。 1セルにカンマで区切った文字列があります。 (例)A1のセル内に【みかん,りんご,いちご,なし】 区切りの位置でカンマ.........で行うと A1みかん B1りんご C1いちご D1なし になります。 行ではなく列にしたいです。 A1みかん B1りんご C1いちご D1なし いま私が行っているのは、行を一度コピーして 貼り付けのオプションで行と列を入れ替えてます。 最初から1セルに1文字列がよいのですが 他人が1セルにカンマで区切ったデータを編集します。 エクセル2010での関数や操作で実施したい。 ただしマクロや、外部からのソフトは使用しないで よろしくお願いします。 ※OKWaveより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

  • Excel 2つの重複データに重複先セル番地を表示させたい!

    お世話になります。 エクセルで2つの重複しているデータがランダムにがあります。 下記のように表示いたいのですが、良いほうを教えて下さい。 たとえばA1のみかんがA7と重複している時【7】と表示したい ※VBAはわかりません。関数は得意です。  よろしくお願いします。 A  B C 1  7 みかん 2  5 りんご 3    もも 4  6 なし 5  2  りんご 6  4  なし 7  1  みかん 8  9  ぶどう 9  8  ぶどう

  • EXCELでセルの内容をクリアーしたい

    下記のような表でEセルに済が入ったらその行の内容をクリアーしてブランクセルにしたいのですが。 例  A1   B1    C1    D1    E1 8/25  静岡  りんご  100個   済 ←この列を消したい 8/26  岡山  バナナ  120個   8/27  岐阜  みかん  260個 できるでしょうか?よろしくお願いします。

  • エクセルのcountif関数で

    WindowsXPでEXCEL2003を使っています。 A列に固有名詞が入っており、 A列の中でのダブりチェックをcountif関数を使って、 実行しました。式は =countif($A$1:A7,A1) というような感じです。 ところが、見た目は全く変わらないのに、 (下記の図でいうと、「りんご」) 返ってきた数字は1でした。 ただし、「なし」のように2が返ってくるものもあります。 A列      B列 1 りんご     1 2 りんご     1 3 みかん     1 4 いちご     1 5 もも      1  6 なし      2 7 なし      2 (ずれて見苦しいかもしれませんがお許しを) 不思議に思い、一度エクセルからcsvに変換し、 またエクセルファイルになおして、 チェックしてみましたが、結果は同じ。 if関数を使ってみたらどうなるだろうかと チェックしてみたら今度は A1とA2の「りんご」は同じものである という 結果が返ってきました。 countif関数では別物と判断し、if関数では同じもの と判断する・・・ というのは、一体どういうことなのでしょうか? countif関数をなにか勘違いしているのかもしれませんが、よろしくお願いいたします。

  • エクセル関数で最後に入力したセル(値)を取得したい

    いつもお世話になります。エクセル2000を使用しています。 A列にデータを入力しています。B1のセルにA列の最終入力値を表示させたいのですが、B1に何か関数を入れることでできますでしょうか? 例1 A りんご みかん なし 例2 A りんご みかん なし バナナ 上記の例1では「なし」、例2では「バナナ」をB2に表示させたいのです。 よろしくお願いします。

  • エクセル 関数

    エクセル関数が少し使えるレベルの者です IF分についてですが  IF(データ,(IF(リンゴ*,数量の総和,0)),0) データ 数量 リンゴC   4 ミカンA  6 ブドウT  7 リンゴA  2 上記の答えは"6"ですが、6の内訳は    リンゴC   4    リンゴA  2 となります、ピボットテーブルを使うと表のセル"6"をWクリで 別シートに内訳が表示されるのですが、IF文条件より抽出 されたデータ表示はできませんか? 可能な操作の仕方があれば教えてください。

  • エクセルの集計

    エクセルの集計で質問します。 A列に「りんご」か「みかん」が入っている行を集計したいと思っています。    A 1 りんご、なし 2 みかん、もも 3 りんご、みかん 4 ぶどう 5 りんご 6 ぶどう、もも 7 みかん という表があると、期待している集計値は「5」なのですが、どのような関数を使えばよいかわかりません。 よろしくお願いします。

  • excelでセルの交換

    excelでセルの交換が出来るでしょうか?例えば、  A1…みかん  A2…りんご  A3…ぶどう  A4…なし  A5…メロン があったとします。これでA1とA4を交換して、  A1…なし  A2…りんご  A3…ぶどう  A4…みかん  A5…メロン としたいのですがなにかいい方法はないでしょうか。 できるだけ簡単な方法がいいのですが…。

  • ■エクセルで複数のセルが一致する場合に返す方法

    色々試しているのですがどうしても出来ないのでどなたか教えて下さい。 例えば Sheet2に下記のような果物のその日の値段を表にした 値段表を作ったとします。    A   B   C   D… 1  日付  りんご みかん  ぶどう 2 1月1日  100   150   50 3 1月2日  200   150   40 そしてSheet2に、毎日買った分を書いていきたいのですが これを   A     B   C… 1 1月1日  りんご  100  2 1月2日  りんご  200 3 1月2日  みかん  150 ・ ・ ・ というようにA1が1月1日でB1が「りんご」だった時に Sheet1の1月1日のりんごの値段が 自動的に入るようにしたいのです。 IF関数でやってみたのですが、「AでありBである時、A'のB'の値を返す」という方法がうまくいきません。 分かりにくい説明かもしれませんがどうか良い方法を教えて下さい。

  • excelのvlookup関数で値ではなくセルの位置を返せますか?

    どなたかお詳しいかた教えていただけますでしょうか? excelのvlookup関数は通常該当するセルの値を返すと思うのですが、そのセルの位置(A4とか)を返す方法はありますか? 例えば、以下のようなEXCELのシートがあったとします。 =VLOOKUP("いちご",A1:B4,2,0)とすると、”200円”と表示されると思うのですが、このセルの位置(この場合は"B4")を求める方法ははありますか?   A  B 1りんご 100円 2みかん  80円 3バナナ 150円 4いちご 200円 お詳しい方よろしくお願い致します。 m(__)m

専門家に質問してみよう