• ベストアンサー

別シートのセルを3つ飛ばしで引用したいです

初心者の為、説明不足になりましたらすいません。 Excel2007を使用しているのですが、別シートのセルを3つ飛ばしで引用したいのですが出来なくて困っています。 例えて言うと・・・ シート名:商品別      列A   列B  列C 行1   商品1  単価  2000 行2       販売数 20 行3       売上  40000 行4   商品2 単価  1000 行5       販売数 10 行6       売上  10000      ・      ・      ・ というシートの、売上の金額の部分だけ(例ではセルC3、C6・・・)別のシートに シート名:売上一覧      列A   列B 行1   商品1  40000 行2   商品2  10000 行3   商品3 25000      ・      ・      ・ というように列Bに引用したいのですが、3つ飛びなのでオートフィルでは =商品別!C3 =商品別!C4 =商品別!C5 ・・・ となってしまいます(泣) 手入力で =商品別!C3 =商品別!C6 =商品別!C9 ・・・ と入力すればよいのですが、引用しなきゃいけない行が1000行あるし 他のシートでも同様の事をしなければいけないので、関数を使用して 入力する方法があったら教えて欲しいです☆ どうかお知恵を貸して下さい☆ よろしくお願いします☆

質問者が選んだベストアンサー

  • ベストアンサー
  • xls88
  • ベストアンサー率56% (669/1189)
回答No.6

≪隣の列が空白あるいはデータが連続していない場合≫ B1に、=商品別!C3 と参照式を入力 参照式の頭に#を入力、#=商品別!C3 名前ボックスに、B1000 と入力 Shift+Enter でB1:B1000を選択 F2キーでアクティブセル(B1)を編集モードにする Ctrl+Enter でB1:B1000に #=商品別!C3 が入力される B2に、#=商品別!C6 と入力 B1:B2 を選択し、選択枠の右下角の■(フィルハンドル)をダブルクリック #=商品別!C3 #=商品別!C6 #=商品別!C9 ・ ・ ・ オートフィル範囲が選択状態のまま 編集メニューの「置換」で #= を = に「すべて置換」

その他の回答 (6)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.7

こんばんは! すでに色々回答はでていますので、参考程度で目を通してみてください。 ↓の画像の売上一覧SheetのA1セルに =IF(COUNTA(商品別!$A$1:$A$1000)<ROW(A1),"",INDEX(商品別!$A$1:$A$1000,ROW(A1)*3-2)) B1セルに =IF(A1="","",INDEX(商品別!$C$1:$C$1000,ROW(A1)*3)) という数式を入れ、A1・B1セルを範囲指定し、B1セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は1000行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いです。m(__)m

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.5

オートフィルを利用する方法ですが如何でしょうか。 (1)上位2セルに「#商品別!C3」、「#商品別!C6」と入力 (2)上位2セルを選択→下方向にコピー(因みに左隣列が空白セルでなければ、フィルハンドル<セル選択した右枠下の■>をダブルクリックで一括コピーできます (3)コピーされた範囲を選択→置換→#を=に置換

  • minosennin
  • ベストアンサー率71% (1366/1910)
回答No.4

一例です。 sheet2のA1に =INDIRECT("Sheet1!A"&(ROW()*3-2))       B1  =INDIRECT("Sheet1!C"&(ROW()*3)) と入力し、それぞれ下へ必要数コピー なお、関数式はこの画面からEXCELへコピー貼付できます。

noname#204879
noname#204879
回答No.3

売上一覧!A1: =OFFSET(商品別!$A$1,(ROW(A1)-1)*3+(COLUMN(A1)-1)*2,(COLUMN(A1)-1)*2)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

売上一覧シートのA列には商品名が入力されているとして、B1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(OR(A1="",COUNTIF(商品別!A:A,A1)=0),"",INDEX(商品別!A:C,MATCH(A1,商品別!A:A)+2,3))

ryuushin
質問者

補足

回答ありがとうございます☆ 実際の表にはA列とB列の間に何列か他の情報が入っているので、 参照先を変更して使用すればうまくいくかもしれませんね☆ 挑戦してみます☆

  • popuplt
  • ベストアンサー率38% (31/81)
回答No.1

方法は色々あるでしょうがとりあえず2案 関数なら =index(商品別!$C$1:$c$3000,3*row()) とか 操作なら 使っていない適当なセル(例えばN3)に [N3]=商品別!C3 と入力。 [N3:N5]を選択して、下へフィル。すると3行おきに式が入力される。 [検索と選択]-[ジャンプ]-[セル選択]-[空白セル]で[OK] アクティブセルで右クリックして[削除]-[上方向に削除] 後は必要なセルを[切り取り]-[貼り付け]

ryuushin
質問者

補足

回答ありがとうございます☆ 関数ではうまくいかなかったので、操作で挑戦してみたところ・・・ 最後、貼り付ける時にコピーした列から貼り付ける列に左に移動した分、 参照先のセルも左に動いてしまいました(泣) 貼り付けの時に参照先を動かさない方法ってありますか??