![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
この様な表を
------------------------------------
/ 1 2 3 4 5
------------------------------------
A1 / 1
------------------------------------
B1 / 1 1
------------------------------------
C1 / 1 1
------------------------------------
このようなデータリストに変換したいのですが
何か良い方法はありませんでしょうか。
------------------------
1 C1 1
2 A1 1
2 C1 1
4 B1 1
5 B1 1
-----------------------
上手く説明できていませんが、悩んでいます。
もしお気づきの点がありましたらご回答いただければ幸いです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_01.png?8acaa2e)
No.2ベストアンサー
- 回答日時:
以下、仮に、
・元表のデータ部分の範囲:E3:Z99
・元表の列見出し:2行目
・元表の行見出し:3列目(C列)
だとします。
1.適当な列(仮にAA列~AD列とします)の1行目に、それぞれ下記の数式を入力する。
AA1:=1/LARGE(INDEX(($E$3:$Z$99<>"")/(COLUMN($E$3:$Z$99)*2^16+ROW($E$3:$Z$99)),),ROW(AA1))
AB1:=OFFSET($A$2,,INT(AA1/2^16)-1)
※$A$2は、元表の列見出しがある行の最初のセル
AC1:=OFFSET($C$1,MOD(AA1,2^16)-1,)
※$C$1は、元表の行見出しがある列の最初のセル
AD1:=OFFSET($A$1,MOD(AA1,2^16)-1,INT(AA1/2^16)-1)
※$A$1は、ワークシートの左上隅セル、すなわちA1
2.AA1:AD1を下方にフィル
3.(必要に応じて)AA列を非表示にする
4.(必要に応じて)条件付書式等でエラー値を見えないようにする
Excel2003で動作確認済。
-----------------------------------------------------
とりあえず潰しが効きそうな案を提示しましたが、
・元表のデータは1のみか、それとも他の値が入ることがあるのか
・元表のデータは数字のみか、それとも文字列が入ることがあるのか
・単発の作業か、それとも、元表の変更に連動して随時変化する必要があるのか
・元表の範囲は固定か、それとも増えることがあるのか
によってアプローチも変わってくると思います。
以上ご参考まで。
No.1
- 回答日時:
ExcelVBAでこんな感じでしょうか。
Dim a, b, c As Integer
c = 1
For b = 1 To 5
For a = 1 To 3
If Sheets("sheet1").Cells(a, b) = "1" Then
Sheets("sheet2").Select
Select Case a
Case 1
Cells(c, 1) = "a"
Case 2
Cells(c, 1) = "b"
Case 3
Cells(c, 1) = "c"
End Select
Cells(c, 2) = "1"
c = c + 1
End If
Next
Next
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) エクセルの表で A1にデータの入力規則でリストを作って、 (リス、キリン、ゾウとします) リストを選 4 2022/07/15 09:29
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) エクセル関数教えてください 3 2022/06/21 10:22
- その他(Microsoft Office) IF関数について教えてください 2 2022/05/10 13:31
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
- Excel(エクセル) Excel 数式を教えてください 2 2022/06/02 12:24
- Excel(エクセル) 条件付き書式の設定方法を教えて下さい。 2 2023/04/14 18:12
- Excel(エクセル) エクセルで月末、月初の判定をしたい。 4 2022/05/18 23:22
- Excel(エクセル) エクセルで一定の数値を超えたとき”一定数”、超えなかったら計算式を入れたい 3 2022/04/05 10:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルでファイルの最終更新...
-
Excelに詳しい方! B列が「日...
-
F9キーについて。
-
Excelファイルが開けません
-
シフト表をエクセルで作るとき...
-
Excel関数について教えてくださ...
-
Excel 小さくなったスクロール...
-
計算能力
-
excel2013 MonthDays 関数が使...
-
スプレッドシートの関数につい...
-
Excel 2019 [オプション]の[リボンのユ...
-
Excelのピボットグラフの作り方...
-
エクセルで 自動的に◯や数字を...
-
【EXCEL】画像の黄色部分の抽出...
-
特定の文字列を含む、住所を抽...
-
EXCELの散布図で日付が1900年に...
-
【マクロ】2回実行したら、エ...
-
Excelで表を作ったところに文字...
-
マイクロソフトのPADを使ってい...
-
Excel分数の表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報