• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:【EXCEL】相対的な位置を連続して調べるには?)

【EXCEL】相対的な位置を連続して調べる方法

このQ&Aのポイント
  • アンケートの複数回答について、選択肢番号を列挙して加工する方法を教えて下さい。
  • Excelの関数を組み合わせることで、目的の加工が可能かどうかも教えてほしいです。
  • 関数を使用せずに選択肢番号を連続して取得する方法があれば、教えてほしいです。

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

シンプルな手としては,添付図のようにシート1にアナタの用意した記入欄があるとすると。 シート2のB2に =SUBSTITUTE(TRIM(IF(Sheet1!B2,COLUMN()-1,"")&" "&C2)," ",",") と記入して右に下にコピー。 B列に欲しいコタエが並ぶので,適宜シート1にコピーするなりまた数式で参照するなりして利用します。 #計算のリクツを理解すれば,シート1のH列以降に数式を並べてH列の結果だけ使っても全然OKです。

ranteto
質問者

お礼

早々に、ありがとうございました。 ご指摘の方法で、無事、目標の形式に加工できました。 しかも、今回、複数回答の選択肢が18個もしくは19個だったのですが、 オートフィルでコピーするだけで、範囲を広げられたので便利でした。 どうもありがとうございました!

その他の回答 (2)

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

1つの数式で表示するなら以下のような数式で対応できます。 =SUBSTITUTE(TRIM(IF(B2=1,1,"")&IF(C2=1," 2","")&IF(D2=1," 3","")&IF(E2=1," 4","")&IF(F2=1," 5",""))," ",",")

ranteto
質問者

お礼

ありがとうございます。 ご指摘の方法で、無事、目標の形式に加工できました。 が、実は、今回、複数回答の選択肢が18~19のため、上記の式を 書いていくのが、少々、面倒そうです。 シンプルかつ、同じシートで処理できて便利なので、今後、 選択肢数が少ない場合に活用させて頂こうと思います。 どうもありがとうございました!

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

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

ranteto
質問者

お礼

ご丁寧にありがとうございました。 関数にはこだわっていなかったのですが、マクロを実行しようとしたところ、 「プロシージャの呼び出し、または引数が不正です。」 というエラーメッセージが出ました。 そのままコピーペーストしたつもりだったのですが、VBAに詳しくないので、 何が問題だったのか、わかりません。。(ちなみにExcel2010です。) せっかくのご回答を活かせず、失礼しました。 (個人的にはAlt+F8キーでマクロを呼べるということすら知らなかったので、 ここは活用させていただきます。^^)

関連するQ&A