A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
No.4です。
前回回答で添付画像に番号をふり漏らしてしまいました。上部画像が①、下部画像が➁となります。なお、画像①の見出しであるD1セルが「A」と表示されていますが、「JAN」の誤りです。
また、➁の画像が見にくいので、拡大版を再投稿します。
前回回答のとおり、(ア)(イ)(ウ)(エ)(オ)を一つのブロックとして、項目表示部分にコピーすることになります。
つまり、「A9~B12」をブロックとしてコピーして、「D9~E12」「G9~H12」「J9~K12」「M9~N12」に貼り付けし、さらに、
「A9~N12」をコピーして、A20、A31、A42・・・に貼り付けしていくということになります。
No.4
- 回答日時:
No.2さんの数式は、「シートBのメーカー名と品番は入力(転記)されている」という前提だと思います。
ご質問者の本質的な問題は、データAの一覧表からシートBに転記することなので、No.2さんの数式を使うためには、まず、「シートBのメーカー名と品番をデータAから転記する」方法を考えないといけません。
No.1さんがお示しになっておられますが、シートBの転記先の行番号、列番号からデータAの何行目のデータかを特定しないといけません。
実際の表がご質問者がお示しになったようなものだとすると、「メーカー名と品番」は「=((ROW()-9)/11)*5+INT(COLUMN()/3)+1」という数式でシートBの転記先の行番号、列番号からデータAの何行目にあるのかを特定できます。
但し、データAにつていの説明がないので、とりあえず、常識的な表として1行目には「見出し」があるものとします。すると1行ずれるので、「=((ROW()-9)/11)*5+INT(COLUMN()/3)+2」という数式で計算することになります。
ところで、No.2さんさんの数式では、「メーカー名と品番を結合して、データAを検索する」という手法をとっていますが、データAにメーカー名と品番を結合したデータを追加しなければなりません。
だとすると、JANコードを用いれば、メーカー、品番、品名等は一意に決定されるのでデータAを加工せずに済みます。そこで、ここでは、JANコードを用いることにします。JANコードの行に合わせて数式を修正すると「=((ROW()-11)/11)*5+INT(COLUMN()/3)+2」となります。
添付画像①➁をご覧ください。
添付画像①のようなデータAがあったとして、これをシートBに転記するものとします。
シートBのA11セルつまり、JANコードの表示位置に、
=INDEX(データA!$D$1:$D$4000,((ROW()-11)/11)*5+INT(COLUMN()/3)+2)・・・・・・(ア)
という数式を記述しています。この数式を記述すると、データAのJANコードが転記されます。JANコードが表示された状態になれば、その上下のセルの内容をJANコードから特定することが可能になります。
シートBのA9セルつまり、メーカー名の表示位置に、
=INDEX(データA!$A$1:$A$4000,MATCH(A11,データA!$D$1:$D$4000,0))・・・・・・(イ)
という数式を記述しています。同様に、
シートBのB9セルつまり、品番の表示位置に、
=INDEX(データA!$B$1:$B$4000,MATCH(A11,データA!$D$1:$D$4000,0))・・・・・・(ウ)
シートBのA10セルつまり、品名の表示位置に、
=INDEX(データA!$C$1:$C$4000,MATCH(A11,データA!$D$1:$D$4000,0))・・・・・・(エ)
シートBのA12セルつまり、上代or下代の表示位置に、
=INDEX(データA!$E$1:$E$4000,MATCH(A11,データA!$D$1:$D$4000,0))・・・・・・(オ)
という数式を記述することで、一つの商品に対する転記が完了します。
あとは、(ア)(イ)(ウ)(エ)(オ)の数式を一つのブロックとしてコピーし、シートBの項目の表示位置にコピーすけばよいということになります。
No.3
- 回答日時:
回答遅れてすみません。
「A10セルには品名が入れたいのですが、VLOOKUPでA9&B9としているのはAsheetのA9&B9でしょうか?」
そうです。A10セルには、すぐ上のA9&B9(メーカー名&品番)を参照して、商品名を表示します。
シート名「A」に義だ離側のように不応ができていないと正しく参照できません。!記号はシート名を意味します。通常「Sheet1」などになっていますが、質問文から察してデータ(A)とあるので「A」というシートかと思いました。
適宜直してください。
C$2:$G$5000は、左の表が5000行目まであると想定しています(4000行あるということなので。)。
,2,はC列から右へ2個目であるD列の品名を、以下,3,はJANを,4,は上代,5,は下代を表示するものです。
,0)は完全一致を検索する指示子です。
"エラー"は一致するものが見つからない場合に”エラー”と表示するものです。これは、入力ミスや、一覧表のデータの誤りが考えられます。
表のC列はC2=A2&B2にて「メーカー名&品番」を結合しています。
もとの表になければ追加してください。
以上です。
No.2
- 回答日時:
添付図の左はシート名Aとします。
右側のBの各セルについて、A10=IFERROR(VLOOKUP(A9&B9,A!$C$2:$G$5000,2,0),"エラー")
A11=IFERROR(VLOOKUP(A9&B9,A!$C$2:$G$5000,3,0),"エラー")
A12=IFERROR(VLOOKUP(A9&B9,A!$C$2:$G$5000,4,0),"エラー")
B12=IFERROR(VLOOKUP(A9&B9,A!$C$2:$G$5000,5,0),"エラー")
としました。
このセルの塊を、右や下にコピーすれば、参照できると思われます。
No.1
- 回答日時:
こんにちは
規則的に並んでいるようなので、対応関係を計算することは可能と思われます。
であれば、関数による参照でもマクロでも可能と思われます。
とは言っても、どのような関係なっているのかがわからないので、具体的には示せませんけれど・・・
例えば、項目のひと固まりを単位に考えるとして、横方向を優先して埋めてゆくとします。
項目の行番号、列番号を0始まりとすれば(0、1、2・・の順)
「行番号」× 5 +「列番号」
が項目の番号になります。
これを逆算すれば、どの項目をどの位置に表示すべきかが計算できます。
(最終的なセル位置は、これに、「実際に1項目が使っている行数・列数」を乗じたものになりますけれど‥)
>データ(A)の中から別シート(B)へ抽出をしたいのですが、
全体のデータから何らかの条件で抽出したものを転記したいというような場合は、関数で直接行おうとするとかなり面倒なことになると予想されます。
そのような場合には、一旦、別シートにでも抽出処理だけを行うようにして、その中間シートから順に転記するような仕組みにしておいた方が(考え方が)簡単になるでしょう。
一方で、抽出処理も併せてマクロで行うような場合であれば、まとめて処理することが可能だと考えられます。
・・・ご参考にでもなれば。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(Microsoft Office) Excelで該当しない項目(#N/Aの商品名)を簡単に表示・抽出させる方法についてです 1 2022/08/25 22:12
- Excel(エクセル) エクセルの条件付き書式 個人シートを参照して集計シートに色付けしたい 1 2023/06/22 00:39
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
- Excel(エクセル) エクセルで複数設定したハイパーリンク先を、どれを選んでも画面の左上に来るようにしたいのですが・・・ 3 2022/04/07 16:15
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
Excelでシートの違うデータでグ...
-
複数シートからデータを拾って...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
エクセルのカメラ機能について
-
VBAで CTRL+HOMEの位置へ移動...
-
(VBAにて)日付でデータを抽出す...
-
EXCEL 複数行のデータを1行にま...
-
EXCELで2つのファイルから重複...
-
他のシートの一番下の行データ...
-
【エクセル」 特定のセルで条件...
-
別々のシートの表をピボットテ...
-
Excelで日付変更ごとに、自動的...
-
【マクロ】同じフォルダ内にあ...
-
エクセルで複数行のデータを1列...
-
エクセル マクロ "特定の日付...
-
EXCEL の表を一行ずつシートに...
-
エクセルで名簿を50音で切り分ける
-
Excelでテーブルを2次元の表に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルファイルのシート毎の容量
-
複数シートからデータを拾って...
-
Excelでシートの違うデータでグ...
-
シート削除して同名シート追加...
-
excelの不要な行の削除ができな...
-
Excelで日付変更ごとに、自動的...
-
VBAで CTRL+HOMEの位置へ移動...
-
トランジスタの選び方
-
EXCELで2つのファイルから重複...
-
EXCEL 複数行のデータを1行にま...
-
他のシートの一番下の行データ...
-
オートフィルタで抽出したデー...
-
エクセルのカメラ機能について
-
(VBAにて)日付でデータを抽出す...
-
エクセルで名簿を50音で切り分ける
-
別々のシートの表をピボットテ...
-
Excel 売上管理シートに入力し...
-
Excelマクロ 差分抽出の方法が...
-
EXCEL の表を一行ずつシートに...
-
エクセルVBAで、特定文字から始...
おすすめ情報
回答ありがとうございます。
A10セルには品名が入れたいのですが、VLOOKUPでA9&B9としているのはAsheetのA9&B9でしょうか?
初歩的なことを聞いてすいません、、
何度もすいません、回答いただいた関数で同じようなsheetを試しに作ってみて関数を入れてみても
上手く作動しませんでした。
(VLOOKUP(A9&B9,A!$C$2:$G$30,2,0),"エラー")の中についての説明を教えて欲しいです。。
Excelが本当に苦手で・・申し訳ありません。。