• ベストアンサー

エクセルの区切り点での入力を変換する方法

アンケートの集計をしています。複数回答の質問を一つのセルに区切り点(,)を入れて入力してしまいました。(好きな果物は? 1.みかん、2.もも、3.なし、4.ぶどう、 という質問。入力を 1,2,4 と一つのセルに入れてしまった。本来なら ”1.みかん”という列をつくり、そこに”0”(記入あり)、”1”(記入なし)を入れるべきでしたが) この場合、本来の入力方法にスムーズに変換する方法はあるでしょうか? わかりにくい質問ですみませんが、よろしくお願いします!

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.3

B列に 1,2,4 などが入力されているとして、 C1に みかん、D1に もも、E1に なし、 F1に ぶどう とタイトルを入れ、 C2に =IF(ISNUMBER(FIND(1,$B2,1)),1,0) D2に =IF(ISNUMBER(FIND(2,$B2,1)),1,0) E2に =IF(ISNUMBER(FIND(3,$B2,1)),1,0) F2に =IF(ISNUMBER(FIND(4,$B2,1)),1,0) と式を入力、C2からF2を選択して下方向にフィルすれば出来ると思います。

hiromi2515
質問者

お礼

ありがとうございました!!この方法を使わせていただき、処理ができました。助かりました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

VBAですが Sheet1のA、B列に 山田 1,2,3 近藤 2,3 植山 4,5 大山 1,3 下記を実行する Sub test01() Dim Sh1 Dim Sh2 Set Sh1 = Worksheets("Sheet1") Set Sh2 = Worksheets("Sheet2") d = Sh1.Range("A65536").End(xlUp).Row For i = 2 To d Sh2.Cells(i, "A") = Sh1.Cells(i, "A") 'Sheet1のA列をSheet2へ s = Split(Sh1.Cells(i, "B"), ",") 'カンマで分離 For j = 0 To UBound(s) '分離した数だけ Sh2.Cells(i, s(j) + 1) = 1 '数字の場所に1を入れる Next j Next i End Sub 結果Sheet2のA2:F5に 山田 1 1 1 近藤 1 1 植山 1 1 大山 1 1 となります。

hiromi2515
質問者

お礼

ありがとうございました。 VBAはこれまで使ったことはないので、もうちょっと勉強してからこの方法を使わせてもらおうと思います。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.2

0/1に変換したいと言う事でしたら、 関数で =IF(ISNUMBER(FIND("1",RC[-1],0)),1,0) 変換してはどうでしょう? Find関数の"1"とRC[-1]を変更する事である程度、融通は利くと思いますが?

hiromi2515
質問者

お礼

早速にありがとうございました。 やってみます。

  • yastaro
  • ベストアンサー率23% (5/21)
回答No.1

データ⇒区切り位置⇒「カンマやタブ・・・」 ⇒(カンマにチェックを入れる)⇒次へ⇒完了 右側のセルが空白であることが条件で、自動的に区分されます。

hiromi2515
質問者

お礼

早速にありがとうございました!!

関連するQ&A