説明しにくいのですが以下のようなデータが別ブックにあります。
Book1
A列 B列 C列 D列
商品名 数量 コード 着日
A 1 ABC
A 3 DEF
B 1 CBA
------------------------------------------------
Book2
A列 B列 C列 D列
商品名 数量 コード 着日
A 1 ABC 1/1
A 1 CCC 2/8
-----------------------------------------------
Book1 とBook2のデータをBook3の表へ以下のようにまとめ、Book2の着日はD列に転記されるようにしたいです。
商品名、コードが同一のものは1行にまとめる、着日はBook2から転記する
A列 B列 C列 D列 E列 F列 G列
商品名 数量 コード 期限 数量 コード 着日
A 1 ABC 1/1 1 ABC 1/1
A 3 DEF
A 1 CCC 2/8
B 1 CBA
----------------------------------------------------------------------
実際の商品は100品種程あるので手作業で行うと時間がかかり転記ミスも生じてしまいます。
マクロ以外で簡単に作業できる方法があれば教えてください。
マクロの知識がないので修正が必要になった時に対応ができないです。。
宜しくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
ちゃんと文章読んだのかな……「論外」だとわざわざ書いたのに。
> 説明不足で語弊を招いたようで気分を害してすいません。
「~だったら」とか「~ようで」とか 推測で謝る人は 実際には自分は何も
悪くないと思っているか 全く何にも分からないまま謝っている人ですね。
私は別に気分は悪くありませんし 説明不足とも思っていませんよ。
むしろあなたの書いたことに これ以上ないほど正確に回答したはずです。
書いた コマンド文字列も本当に使えるものですし。
> 質問の作業を実際行うのはエクセルの知識がない方になるので
使う人に知識なんていりません。作り手にさえ知識があればいい話です。
初心者がよく使う言い訳ですが 表の悪さを使い手のせいにしないで下さい。
> マクロを組むとメンテナンスが必要になった時に難しい
Excelに関数で処理するよりメンテナンス性の悪い方法なんてありません。
初心者は「関数を使って」「自動で」「反映」が大好きですが それが一番
処理の無駄を増やします。
ましてや 外部データの取り扱いを数式だけでやるなんてのは処理を複雑且
つ不安定にするだけで何の得もありません。
> 関数を使用して体裁上値貼付して使用希望です。
どうしても数式でやりたいなら別に止めませんが アドバイスする気もない
のでどうぞご自由に。やってやれないことはないとだけ書いておきます。
それを無理やりできるようになった頃には「ああ 数式でやるなんて馬鹿だ」
と分かると思います。それはそれでいい勉強になりますよ。
No.1
- 回答日時:
> マクロ以外で簡単に作業できる方法があれば
あなたのいう「簡単」て何ですか? 勉強しないでもコピーして貼り付
けたら 全く理解してなくても動くという意味ですか?
だとしたら別にマクロでいいでしょうに。
> マクロの知識がないので修正が必要になった時に対応ができないです。。
マクロではなく一般機能だったら 自分で修正できるんですね?
後から絶対に文句いわないで下さいね。
外部データの取り込み機能で処理します。一般機能で処理できる方法の中
では一番 簡単でしょうから。こんなもの数式でやるのは論外です。
Sheet1・Sheet2に置き換えてますが フルパスを書けば外部ブックで
も参照できます。
SELECT ab.商品名, ab.数量, ab.コード, ab.期限, c.数量, c.コード, c.着日
FROM
(SELECT aa.コード As 統合コード, aa.商品名, b.数量, b.コード, b.期限
FROM
(SELECT 商品名, コード
FROM
(SELECT 商品名, コード
FROM [Sheet1$A:C]
UNION ALL
SELECT 商品名, コード
FROM [Sheet2$A:C]) As a
GROUP BY 商品名, コード) As aa
LEFT JOIN
(SELECT 商品名, コード, 数量, 期限
FROM [Sheet1$A:D]) As b
ON aa.コード = b.コード) As ab
LEFT JOIN
(SELECT 商品名, コード, 数量, 着日
FROM [Sheet2$A:D]) As c
ON ab.統合コード = c.コード
素直に基礎から VBAの勉強をした方がいいと思いますね。
ご回答ありがとうございます。
説明不足で語弊を招いたようで気分を害してすいません。
質問の作業を実際行うのはエクセルの知識がない方になるので、(私も初心者ですが)簡単にと記載してしまいました。マクロを組むとメンテナンスが必要になった時に難しいと聞いた事がありまして。関数で対応できるかと試行錯誤しましたが上手く行かず、、
book3は部外に提出するので関数を使用して体裁上値貼付して使用希望です。
宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) 【VBA】複数行あるカンマ区切りのデータを全て縦に一列に並べたい 5 2022/04/13 17:03
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- Visual Basic(VBA) チームごとにどの商品を何個希望しているか数量を算出したいです。 A列(A2~A265)に各チーム名が 3 2023/07/18 18:46
- Visual Basic(VBA) 重複データをまとめて合計を合算する 4 2022/10/25 20:25
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VLOOKUPの列番号の最大は?
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
「段」と「行」の違いがよくわ...
-
エクセルで複数列の検索をマク...
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセル マクロ 範囲指定で...
-
CSVファイルの「0落ち」にVBA
-
Alt+Shift+↑を一括で行うには、...
-
エクセルマクロPrivate Subを複...
-
VBAで別ブックの列を検索し、該...
-
エクセルの列末のデータだけ表...
-
【VBA】ピボットテーブルの範囲...
-
土日の列幅の自動変更を教えて...
-
横軸を日付・時間とするグラフ化
-
エクセル マクロ 範囲の値を上...
-
エクセルで?
-
エクセルのソートで、数字より...
-
エクセルでセル12個間隔で合...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
「段」と「行」の違いがよくわ...
-
LEFT関数とIF関数の組み合わせ...
-
VBA
-
Excelの行数、列数を増やしたい...
-
VBA 指定した列にある日時デー...
-
エクセルで複数列の検索をマク...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロの組み方
-
エクセルのソートで、数字より...
-
えABのある列って
-
VBAで別ブックの列を検索し、該...
-
Excel文字列一括変換
-
エクセルで住所を県と市・郡と...
-
リストからデータを紐付けしたい
-
Alt+Shift+↑を一括で行うには、...
-
エクセル マクロ 範囲指定で...
-
エクセルで最初の行や列を開け...
-
エクセル 重複 隣の列 一番...
おすすめ情報