• 締切済み

エクセルで違うページにあるものを3行おきに参照

はじめまして。 エクセルについての質問です。 エクセルを使った業務で顧客ごとに毎年1月からのの売り上げの累計を入力して、年度ごとに比べる表を作っています。 そこで、すごく困っていることがあるのですが 例えばページ1に以下の情報があり、 A社2012  2000ドル A社2011  4000ドル A社2010  2000ドル B社2012  1000ドル B社2011  3000ドル B社2010  2000ドル …C社、D社と続く・・・・ ページ2に A社2012  2000ドル   A社2011 4000ドル B社2012  1000ドル   B社2011 3000ドル C社2012  …       C社2011 … とデータを参照したい場合、何か簡単に参照できる関数などはあるのでしょうか? 今のところ、全然思い浮かばないので、ひとつずつ=でセルを選択しています。 ページを行ったりきたりするので混乱してしまうのと、データが多いのでかなり時間が掛かってしまって困っています。 どなたか、この方法をご存知の方ご享受いただけると助かります。 ちなみに、エクセルはごくごく単純なものなら使えますが、関数は殆ど使ったことがないレベルです。 これから少しでも勉強できたらと思っています。 宜しくお願い致します。

みんなの回答

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

こんにちは! 一例です。 ↓の画像のように左側Sheet(Sheet1)の配列だとします。 Sheet2のA2セルに =OFFSET(Sheet1!$A$1,3*(ROW(A1)-1)+INT(COLUMN(B1)/2),MOD(COLUMN(B1),2))&"" という数式を入れ列方向・行方向にオートフィルでコピーすると 画像のような感じになります。m(_ _)m

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

ページ1はシート1でページ2はシート2とします。エクセルにはページ1とかページ2といった考え方は通常はありません。 シート1は元の表でAおよびB列の2行目から下方にデータが有るとします。 お求めの表はシート2に表示させることにしてシート2のA2セルには次の式を入力してD2セルまで横にドラッグコピーしたのちに下方にもドラッグコピーします。 =IF(ROW(A1)>COUNTA(Sheet1!$A$2:$A$10000)/3,"",IF(COLUMN(A1)<=2,INDEX(Sheet1!$A:$B,ROW(A1)*3-1,COLUMN(A1)),IF(COLUMN(A1)<=4,INDEX(Sheet1!$A:$B,ROW(A1)*3,COLUMN(A1)-2),"")))

  • t-yamada_2
  • ベストアンサー率40% (587/1460)
回答No.1

VLOOKUP関数を使います。 =VLOOKUP(検索値,範囲,列位置,検索の型) 検索値:sheet2のA列のセルにある値を検索します 範囲:sheet1の参照する表の範囲を決めます 列位置:上記の表の左から何列目の値を表示させるかを決めます 検索の型:検索値が文字列の場合 FALSE ということでsheet2のセルA2に入力する式はsheet2のセルA1を検索値に指定しsheet1の表(セルA1~B6)を範囲にしてその表の左から2番目(つまりB列)を表示させます。 [sheet1]   A列(=表の1列目)     B列(=表の2列目) 1   A社2012         2000ドル 2   A社2011         4000ドル 3   A社2010         2000ドル 4   B社2012         1000ドル 5   B社2011         3000ドル 6   B社2010         2000ドル [sheet2]   A列        B列                            C列    D列 1 A社2012    =VLOOKUP(A1,Sheet1!$A$1:$B$6,2,FALSE)   A社2011  左式のコピー 2 B社2012    上の式コピー ※2行目以降とD列はコピーだけで式の入力はOKだと思います。

関連するQ&A