- ベストアンサー
エクセルの区切り点での入力を変換する方法
アンケートの集計をしています。複数回答の質問を一つのセルに区切り点(,)を入れて入力してしまいました。(好きな果物は? 1.みかん、2.もも、3.なし、4.ぶどう、 という質問。入力を 1,2,4 と一つのセルに入れてしまった。本来なら ”1.みかん”という列をつくり、そこに”0”(記入あり)、”1”(記入なし)を入れるべきでしたが) この場合、本来の入力方法にスムーズに変換する方法はあるでしょうか? わかりにくい質問ですみませんが、よろしくお願いします!
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
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を選択して下方向にフィルすれば出来ると思います。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
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 となります。
お礼
ありがとうございました。 VBAはこれまで使ったことはないので、もうちょっと勉強してからこの方法を使わせてもらおうと思います。
- Dxak
- ベストアンサー率34% (510/1465)
0/1に変換したいと言う事でしたら、 関数で =IF(ISNUMBER(FIND("1",RC[-1],0)),1,0) 変換してはどうでしょう? Find関数の"1"とRC[-1]を変更する事である程度、融通は利くと思いますが?
お礼
早速にありがとうございました。 やってみます。
- yastaro
- ベストアンサー率23% (5/21)
データ⇒区切り位置⇒「カンマやタブ・・・」 ⇒(カンマにチェックを入れる)⇒次へ⇒完了 右側のセルが空白であることが条件で、自動的に区分されます。
お礼
早速にありがとうございました!!
お礼
ありがとうございました!!この方法を使わせていただき、処理ができました。助かりました。