[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『複数行をセットにして連続入力したい』(hiro)
シート1の内容を、シート2に2行1セットのレイアウトで配置しなおし、コピーしたいです。
例)
<シート1>
商品名 生産地 単価 入荷数 入荷日 商品の特色
りんごA 青森 100 100 2014/7/8 甘い
りんごB 秋田 80 50 2014/7/8 さっぱり
<シート2>
商品名 りんごA 生産地 青森 単価 100
入荷数 100 入荷日 2014/7/8 商品の特色 甘い
商品名 りんごB 生産地 秋田 単価 80
入荷数 80 入荷日 2014/7/8 商品の特色 さっぱり
上のようにしたいのですが、たとえば、シート2の「りんごA」の部分を
=シート1!A2
と参照すると、「りんごB」のところに数式をコピーしても
=シート1!A4
になってしまいます。
ちょっと調べてみて、INDEX、ADDRESSなどを使うのかな??と思いましたが、どう指定すればよいのかよくわかりません。
詳しい方、どうぞお助けください。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
提示されている、生データ(Sheet1)のサンプルでは商品が2種類しかなく、
商品名と生産地が1:1でしたが、同じ商品名で産地が異なるケースも考え、
また入荷日毎に1レコード生成することも考慮し、レコード番号をA列に挿入
しました。
Sheei1のデータ
No 商品名 生産地 単価 入荷数 入荷日 特色
1 りんごA 青森 100 90 2014/7/8 甘い
2 りんごB 秋田 80 50 2014/7/8 さっぱり
3 りんごC 岩手 120 70 2014/7/10 あっさり
4 りんごA 長野 95 130 2014/7/12 すっぱい
その上で、Sheet2へのコピーとしてマクロを使わずに力技(手作業)で行う
方法です。
★方法1 Indexを使う方法
A列に上述のレコード番号を入力
C1:=INDEX(Sheet1!$A$1:$G$11,A1+1,2)
E1:=INDEX(Sheet1!$A$1:$G$11,A1+1,3)
G1:=INDEX(Sheet1!$A$1:$G$11,A1+1,4)
C2:=INDEX(Sheet1!$A$1:$G$11,A1+1,5)
E2:=INDEX(Sheet1!$A$1:$G$11,A1+1,6)
G2:=INDEX(Sheet1!$A$1:$G$11,A1+1,7)
A1:G2を3行目移行にコピーしてみてください(A列のレコード番号を適当に
直してください)
結果
1 商品名 りんごA 生産地 青森 単価 100
入荷数 90 入荷日 2014/7/8 特色 甘い
2 商品名 りんごB 生産地 秋田 単価 80
入荷数 50 入荷日 2014/7/8 特色 さっぱり
3 商品名 りんごC 生産地 岩手 単価 120
入荷数 70 入荷日 2014/7/10 特色 あっさり
4 商品名 りんごA 生産地 長野 単価 95
入荷数 130 入荷日 2014/7/12 特色 すっぱい
★方法2 Vlookupを使う方法
A列に上述のレコード番号を入力
C1:=VLOOKUP(A1,Sheet1!$A$1:$G$12,2,FALSE)
E1:=VLOOKUP(A1,Sheet1!$A$1:$G$12,3,FALSE)
G1:=VLOOKUP(A1,Sheet1!$A$1:$G$12,4,FALSE)
C2:=VLOOKUP(A1,Sheet1!$A$1:$G$12,5,FALSE)
E2:=VLOOKUP(A1,Sheet1!$A$1:$G$12,6,FALSE)
G2:=VLOOKUP(A1,Sheet1!$A$1:$G$12,7,FALSE)
結果
(略)
どうでしょうか(もっと美しいやり方は、他の御先輩方から回答があるかと思います
のでよろしくお願いいたします)
(ryopo^2) 2014/07/18(金) 16:18
事情があってどうしても関数でなんとかしたかったのでたいへん助かりました。
ありがとうございました。
(hiro) 2014/07/18(金) 17:13
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.