- 締切済み
エクセルのデータの加工で何かいいアイデアがほしいです・・・
エクセルで下記のような(A列に品番、B列にケースNO.の最初、 C列にケースNO.の最後、D列に品名、D列に数量) データが数百件あり、これをケースNO.毎にデータを 作り直したいのですが… 品番 ケースNO.FROM ケースNO.TO 品名 数量 AP-1 1 3 りんご 3 BA-14 1 バナナ 1 BA-10 105 109 モンキバナナ 5 GR-00 7 8 ぶどう 2 ※↑こんな感じのデータを最終的には↓こうしたい。 品番 ケースNO. 品名 数量 AP-1 1 りんご 3 AP-1 2 りんご 3 AP-1 3 りんご 3 BA-14 1 ばなな 1 BA-10 105 モンキバナナ 5 BA-10 106 モンキバナナ 5 BA-10 107 モンキバナナ 5 BA-10 108 モンキバナナ 5 BA-10 109 モンキバナナ 5 GR-00 7 ぶどう 2 GR-00 8 ぶどう 2 データが数百件あり、とても手作業でできる量ではありません。 件数的にもマクロを使ってやるものだと思いますが 当方、マクロの自動記録から訂正することや読める… 程度の知識はあるのですが一からの書き込みや 繰り返し、判別させる知識がなく行き詰っております。 マクロでもマクロ以外でもいいので何かいい方法は ありますでしょうか? 宜しくお願い致します。
- hiroyon164
- お礼率100% (2/2)
- オフィス系ソフト
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Masa2072
- ベストアンサー率51% (94/182)
標準モジュールに Sub Sample() Dim Moto As Range Dim C, S, E, i, L As Integer With Sheets("Sheet2") L = 2 Set Moto = Sheets("Sheet1").Range("A2", Sheets("Sheet1").Range("A2").End(xlDown)) For Each C In Moto S = C.Cells(1, 2) E = IIf(C.Cells(1, 3) = "", S, C.Cells(1, 3)) For i = S To E .Cells(L, 1) = C.Cells(1, 1) .Cells(L, 2) = i .Cells(L, 3) = C.Cells(1, 4) .Cells(L, 4) = C.Cells(1, 5) L = L + 1 Next Next End With End Sub 元データがSheet1のA2から入力されていてSheet2のA2に転記します。 ※見出しは1行目
まず品番を自分の好きな順に並べ、次の優先順位はケースNo.と言うことでよろしいでしょうか? 並べ替えを行えばできるのですが、問題は品番が素直な並び方ではないことです。 品番に対応する数字を入力する欄を設けてはいかがでしょうか? ・1列挿入する ・別シートに「品番・数字」の表を作成する ・挿入した列から、VLOOKUP関数を使用して品番に対応した数字を入力する ・あとはデータ→並べ替えで品番の数字、ケースNo.の順で並べ替えをすればご希望通り並ぶと思いますが
お礼
お返事おそくなって申し訳ありません。 私の質問が言葉足らずで悪いのですが やりたいことは複数個に対して 一行のデータ(ケースNO.のFROMとTOはその意味です)が ところどころにあるのでそれを一ケースNO.に 一行のデータに再作成したいのです。 説明下手で申し訳ありません・・・
関連するQ&A
- エクセル いろいろな品名ごとに条件付きのカウントをしたい。
エクセルマクロについて教えてください。 以下の「元の表」から「抽出した表」のように、○がついているもののカウントをしたいのですが、マクロでやるにはどのようにしたらよいでしょうか。 品名は特定なものではなく、無限にあります。 〔元の表〕 品名 区分 りんご ○ りんご × みかん ○ バナナ ○ バナナ × キウイ ○ りんご × キウイ ○ りんご ○ : : 〔抽出した表〕 品名 区分 数量 りんご ○ 2 みかん ○ 1 バナナ ○ 1 キウイ ○ 2 : :
- 締切済み
- オフィス系ソフト
- エクセル2000で・・
品番 品名 単価 在庫数 1 リンゴ 120 1000 2 ミカン 100 1000 3 バナナ 80 1000 という表があるとします。 次に別シートに 品番 品名 単価 売れた数 2 ミカン 100 10 と、売れた分量を示す表があります。 そしてもう一つ別シートに 品番 品名 単価 在庫数 1 リンゴ 120 1000 2 ミカン 100 990 3 バナナ 80 1000 というシートがあり、一つ目のシートから二つ目のシートで売れた分の数を引いた数量を表す表があります。 二つ目の表を入力した際に、自動的に三つ目の表の在庫数が表示されるような関数はありますでしょうか?
- ベストアンサー
- Windows XP
- エクセル2010で 項目の抜き出しをしたい
エクセル2010で 項目の抜き出しをしたいです。 たとえば、A列に りんご りんご バナナ トマト りんご バナナ みかん トマト メロン バナナ リンゴ みかん ぶどう とデータが入っているとき、これらのデータには、 トマト バナナ りんご リンゴ みかん メロン ぶどう という種類のデータが入っているということを簡単に表示する方法が知りたいです。 どうぞよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel データの個数を複数条件付きでカウントしたい
OS:XP Ver.:Excel2003 Excelの関数で質問です。 いろいろ調べたのですがどうしてもわかりません。 お知恵をご拝借下さい。 A B C D 1月 2月 3月 りんご 250 0 300 みかん 150 80 0 りんご 88 150 200 いちご 0 300 85 ぶどう 0 350 89 (確認画面にするとずれてしまいますが、A列には品名、B~D列には月が入るようになっています。) 上記のような元データがあり、(実際はもっとたくさん) 1月 2月 3月 りんご みかん いちご ぶどう (こちらもずれてしまいますが、それぞれの月の品名ごとの集計を入れたいのです。) のような表を完成させたいと思います。 (1)表に入れるのは、合計数量ではなく【データの個数】です。 1月のりんごは2、みかんは1、という感じです。 ただし、0はカウントしたくないので、1月のいちごとぶどうは0を 返してほしいのです。 countifやsumproductなど考え付くあたり試してみましたが、うまくできません。 どういう数式(関数)を入れればよいのでしょうか? (2)2月以降のデータ範囲を指定する場合はどうすればいいのでしょうか? 1月ならA2:B6とするのかもしれませんが、2月の場合は1月列(B列)が不要ですよね?
- 締切済み
- その他MS Office製品
- エクセルの重複データ、必要数を指定して絞る
エクセルの重複データ、必要数を指定して絞ることは可能ですか。 エクセル2010です。 マクロはよくわからないので、マクロを組まねばならないようでしたらあきらめます。 たとえばある列に (別の列もデータがあります。 この列を基点にしぼるイメージです) りんご りんご りんご りんご りんご りんご りんご りんご バナナ バナナ バナナ バナナ バナナ バナナ みかん みかん みかん みかん みかん みかん みかん みかん みかん みかん と、個数がランダムで同データがあるような場合に りんご りんご りんご りんご りんご バナナ バナナ バナナ バナナ バナナ みかん みかん みかん みかん みかん と5個に絞るということです。 「重複するレコードは無視する」としたときに1つにしぼられますが、 1つでなく、5つに絞るようなイメージです。 そのような指定がなんらかで可能でしょうか。 テキストフィルターをうまく使えばできたりするでしょうか。 よろしくお願い致します。
- ベストアンサー
- その他MS Office製品
- エクセル関数 頻度順に並べる方法は?
excel関数についてですが 度数の多い順に並べる方法はありますか? 例えば、果物名前がたくさん並んでいるデータを考えます。 1 りんご 2 バナナ 3 なし 4 りんご 5 メロン 6 もも 7 ぶどう 8 りんご 9 ぶどう 10 バナナ 11 りんご 12 ぶどう このデータから、度数の多い順に並べたいです。 [欲しい結果] 1 りんご 2 ぶどう 3 バナナ ...といった具合です。 同率で並ぶ場合は含めなくてもよいですが。。。 できれば、データ列を作らずに関数式で表示させたいのです。
- 締切済み
- オフィス系ソフト
- エクセル、複数行のデータを別シートに集計するには?
複数行のデータを別シートに、伝票番号別、品名別に反映させるにはどのような関数にすればいいですか? 例えば、 [シート1] 伝票番号 品名 数量 aaa りんご 50 aaa バナナ 30 aaa もも 15 bbb バナナ 20 bbb りんご 33 ccc りんご 10 ccc バナナ 40 [シート2] A B C D 1 aaa bbb ccc 2 りんご 50 33 10 3 バナナ 30 20 40 4 もも 15 [シート1]の様なデータがあり、それを[シート2]のセルB1に伝票番号を入力したらセルB2、B3...と数量が反映するようにしたいです。 わかりづらくてすいません。 どなたかわかる方がいらしたらお願いします。
- ベストアンサー
- オフィス系ソフト
- Excelの使い方で質問
例えば、 A列1~10には「No.」として1~10の数字が順番に入ってます。 B列1~10には「りんご」「みかん」「いちご」「ぶどう」という文字がいくつかずつ入っています。 そういうデータで「りんご」は「No.」いくつといくつにあるか、「みかん」は「No.」いくつといくつにあるか、「いちご」は…、「ぶどう」は…、といったように集計したいと思っています。 りんご 1,5,6 みかん 9 いちご 2,3,9 ぶどう 4,7,8,10 といった感じにできれば良いのですが、どうすればよろしいのでしょうか? よろしくご教授ください。
- ベストアンサー
- Excel(エクセル)
- Excel 最小値に合致するカテゴリの抽出
初めて投稿します。よろしくお願いします。 エクセルの行ごとに異なるカテゴリデータが入って(下記のようになって)いるのですが、A列に最小値のデータ、B列最小値のカテゴリを抽出したいのです。 A列の最小値については「=MIN(D2:I2)」で抽出できたのですが、品名を返すことができず手作業しかないかと思っています。 でも、データ数が多くだんだんとわからなくなってきてしまい、このようなことができるのかお聞きしたくて投稿させていただきました。 A列|B列|C列|D列|E列|F列|G列|H列|I列| 最小値|最小値のカテゴリ|空白|品名1|数量1|品名2|数量2|品名3|数量3| 10|バナナ(※自動表示したい)||りんご|50|みかん|100|バナナ|10| 3000|鶏肉(※自動表示したい)||鶏肉|3000|豚肉|5000|牛肉|10000| どのようにお聞きしたら良いのかわからず、説明不足な点があるかと思いますがお分かりの方がいらっしゃいましたらご教示ください。 お願いいたします。
- ベストアンサー
- オフィス系ソフト
- EXCEL VBA 複数列を2列にまとめる
下記のようなデータ(列数も行数も常に変わり、固定ではない)を ┌───────────────── │ A 列 | B列 | C列 | D列 ├─────────────────── │ 1 │伝票01 │品名01 | 品名02 │品名03 ├─────────────────── | 2 │0011 │みかん │みかん | りんご ├─────────────────── │ 3 │1001 │りんご │いちご | ├─────────────────── │ 4 │1100 │いちご │みかん | ぶどう └─────────────────── ↓のように2列にまとめる方法はございますでしょうか?VBAを希望しております。 よろしくお願い申し上げます。 ┌───────────────── │ A │ B ├───────────────── │ 1 │伝票 │品名 ├───────────────── │ 2 │0011_品名01 │みかん ├───────────────── │ 3 │1001_品名01 │りんご ├───────────────── │ 4 │1100_品名01 │いちご ├───────────────── │ 5 │1001_品名02 │みかん ├───────────────── │ 6 │1100_品名02 │いちご ├───────────────── │ 7 │1001_品名02 │みかん ├───────────────── │ 8 │1100_品名03 │りんご ├───────────────── │ 9 │1001_品名03 │ ├───────────────── │ 0 │1001_品名03 │ぶどう ├─────────────────
- ベストアンサー
- オフィス系ソフト
お礼
お返事おそくなって申し訳ありません。 すごい、できてる… 有難うございます!! が、今は全く意味が理解できてません・・・ シンプルな構文や静かな動作にすごく憧れますが 参考書を読んでも実際作る場面がないとなかなか身につかず (っていうか参考書って初級者向けとか上級者向けはたくさんあっても 中級者向けで良いのがなかなか見つけられずにいます) でも頑張ってひとつひとつ解読していきたいと思います。 この度は有難うございました。