質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

Q&A

解決済

1回答

248閲覧

2列のデータを形式変換する方法を教えて下さい(参考図あります)

sincos41

総合スコア17

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

0グッド

1クリップ

投稿2018/01/17 04:22

図1のようにA・B列にデータを、D~I列のようにしたいです。
本来のデータは1万行以上あるため、手作業ではなく関数やVBAを用いて実行できればと考えています。
VBAを作るにも、上手な処理手順が思いつかずに悩んでいる状況です。

詳細な情報は下記になります。
・大分類はA~Cだけではない(種類数は決まっていない)
・小分類は最大で20種類
・列や行の追加など可

お知恵を拝借させて頂ければ幸いです。

図1

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ピボットテーブル作って[列]に小分類置けばいいんじゃないかと

#追記
一応できたので。
0. D1からW1までに20連番
0. C2の式に「=IFERROR(INDEX($A$2:$A$11, MATCH(0, COUNTIF($C$1:C1, $A$2:$A$11), 0)),0)」を
書いてCtrl+Shift+Enter
0. C2から連続データ作成でC4まで(ABCができる)
0. D2の式に「=IFERROR(INDEX($B$2:$B$11, SMALL(IF($C2=$A$2:$A$11, ROW($A$2:$A$11)-MIN(ROW($A$2:$A$11))+1, ""), D$1)),0)」を書いてCtrl+Shift+Enter
0. D2から連続データW4まで(完成)

こんな感じ

投稿2018/01/17 04:30

編集2018/01/18 00:08
sousuke

総合スコア3828

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sincos41

2018/01/17 04:42

質問を書き込む前にピボットテーブルでも試してみましたが、求める形にはならない状況です。
sousuke

2018/01/17 05:28

ああそうか値が取れないんですね。
sincos41

2018/01/17 08:04

ありがとうございます。手順4にてD2に記載の関数を貼り、Ctrl+Shift+Enter をすると「0」と表示されました。勉強になるため自分で原因調査を致しますが、関数に間違いがないかなど確認して頂けると幸いです。おんぶに抱っこで本当に申し訳ありません。
sincos41

2018/01/17 23:52

本当にありがとうございます。これを参考に、解決していきます。
sincos41

2018/01/17 23:59

手順1がD1~W1に「1~20」までの数値を入力することで解決できました。
sousuke

2018/01/18 00:07

すみません1の手順が間違って書いてましたねm(_ _;)m D1からW1に20連番です…解決できてよかったです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問