- ベストアンサー
見積書!客先のフォーマットに合わせるには?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こういうのはVBAでやるべし。仕事にエクセルを使うならVBAができなければ、困難に出くわすのは必至。 ーー 質問者は、関数しかできないのか、関数が好きなのか、他に理由があるのか、下記に関数でやってみるが苦労した。原理的に面白味はないが、位置調節のための式の部分の書き方に 時間がかかるだけ。VBAなら、番地を間違えないように代入式を書くだけなんだが。 例データ Sheet1の A1:D5 品名 サイズ 数量 単位 単価 a 中 12 個 2 b 小 3 袋 3 c 大 5 本 5 d 中 10 m 7 Sheet2のA4の式 =OFFSET(Sheet1!$A$2,INT((ROW()-3)/3),0) B4の式 =OFFSET(Sheet1!$A$2,INT((ROW()-3)/3),1) C5の式 =OFFSET(Sheet1!$A$2,INT((ROW()-5)/3)+0,2) D6の式 =OFFSET(Sheet1!$A$2,INT((ROW()-5)/3)+0,3) E5の式 =OFFSET(Sheet1!$A$2,INT((ROW()-5)/3)+0,4) A4:E6をコピー A7:E15に貼り付け 結果 A7::E15 列的に乱れるかもしれないのでシート上でやって結果を見てください。 a 中 12 2 個 b 小 3 4 袋 c 大 5 6 本 d 中 10 7 m
お礼
ありがとうございます。 やっぱりVBAでしょうか・・・少しかじったけど引いてしまいます。
補足
回答いただきました=OFFSET(Sheet1!$A$2,INT((ROW()-3)/3),0)について教えてください。 式はシート2で作業をしているのですが参照はシート1のA2を絶対番地で基準にしています。後に続くROW()はシート2の行番号なんですね?(シート2の行番号を使ってシート1のA2からオフセットした値を引いてくるということでしょうか)