• ベストアンサー

別シート名+セル番地

エクセル2007です。 シートが2つあります。 シート1には、データを入力します。データは、L4、L8、L12と4つ置きに入力するようにしています。 シート2には、その結果を「=」で引っ張って集約しています。 そこで、「=’(シート1)’!L4」の下に「=’(シート1)’!L8」…と4つ置きのデータを連続して表示させることはできるのでしょうか。 現在、 シート2のB65に「4」B66に「B65+4」、下へドラッグして、以下B67に「B66+4」と、4つ置きの数字は作っています。 で、C66には、「=”L”&B66」、下へドラッグし、以下C67に「=”L”&B66」と、とりあえずセル番地を4つ置きに連続して縦に表示はさせました。 そこで、=’(シート1)’シート2のC66(L8のこと)、と考えてはみたのですが。。 どのようにすればよいのでしょうか。

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

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

主に2つの方法があります。 一つはどこかのセルに次の式を入力して下方にオートフィルドラッグします。=IF(INDIRECT("Sheet1!L"&ROW(A1)*4)=0,"",INDIRECT("Sheet1!L"&ROW(A1)*4)) 一つは次の式を入力して下方にオートフィルドラッグします。 =IF(INDEX(Sheet1!L:L,ROW(A1)*4)=0,"",INDEX(Sheet1!L:L,ROW(A1)*4))

johnyoko09
質問者

お礼

ありがとうございます! とても参考になりました!

その他の回答 (4)

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

例えばシート2の A1に、='(シート1)'!L4 A2に、='(シート1)'!L8 と数式を入力 = を # に書き換え #'(シート1)'!L4 #'(シート1)'!L8 A1とA2を選択 選択枠の右下角の■(フィルハンドル)を下方にドラッグ #'(シート1)'!L4 #'(シート1)'!L8 #'(シート1)'!L12 #'(シート1)'!L16 #'(シート1)'!L20 #'(シート1)'!L24   ・   ・   ・ セル範囲選択状態のまま 編集メニューの「置換」で # を = に「すべて置換」 と、いった方法でもできます。

johnyoko09
質問者

お礼

ありがとうございます。 いろいろな方法があるんですね。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.4

皆さんとは別の方法をご紹介します。 シート2のA1からはじめるとして =OFFSET(Sheet1!$L$1,(ROW()-ROW(A$1))*4,0) あとはオートフィル シート2のAnからの場合は下記のように変えて下さい。 =OFFSET(Sheet1!$L$1,(ROW()-ROW(A$n))*4,0) さらに =OFFSET(Sheet1!$L$1,(ROW()-ROW(A$1))*4+COLUMNS($A1:A1)-1,0) Anからの場合は =OFFSET(Sheet1!$L$1,(ROW()-ROW(A$n))*4+COLUMNS($A1:A1)-1,0) として横方向にオートフィル3列すると B列にL5、C列にL6、D列にL7を持ってくることができます。 ご参考まで

johnyoko09
質問者

お礼

ありがとうございます。 いろんな関数が使えるんですね。

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

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像でSheet2の A1セルに =INDEX(Sheet1!$L$1:$L$1000,ROW(A1)*4) という数式を入れて、オートフィルで下へコピーすると 表のような感じになります。 Sheet1の1000行目まで対応できる数式にしていますが、 データ量によって、範囲指定はアレンジしてみてください。 尚、エラー処理はしていません。 以上、参考になれば幸いですが、 他に良い方法があれば読み流してくださいね。m(__)m

johnyoko09
質問者

お礼

ありがとうございます! キャプチャ入りで、とても分かりやすいです!

  • kmetu
  • ベストアンサー率41% (562/1346)
回答No.1

たとえば1行目から順に式を入れるとして =INDIRECT("'Sheet1'!L" & ROW()*4) というのはいかがでしょう。 もし、2行目からなら (ROW()-1)*4 にしてください

johnyoko09
質問者

お礼

ありがとうございます! 勉強になりました!

関連するQ&A

  • ExcelVBAで複数セルを別シートに貼り付けたい

    Excel VBAでデータをコピーして、別シートに貼り付けるどうしたらいいのでしょうか。 Sheet1のセルA1からA4のデータをコピーして、Sheet2のC2からc5に貼り、次はSheet1のセルB1からB4のデータをコピーしてSheet2のC7からc10に貼りを500行ほど繰り返し(コピーするデータは、4行づつ横へ移動し、貼り付けるほうは4行づつ縦へ移動します。) それが終わったら、今度はB列、c列と100列ほど同じ操作を繰り返します。 いろいろな方法を試しましたが、なかなかうまくいきません。 どなたか教えていただけませんでしょうか。よろしくお願いいたします。

  • 別シート間で連続番号を入れたい

     50シートもある表があります。  この1シート目のA5のセルに、「1回目」、2シート目のA5のセルには「2回目」と3シート目には「3回目」と、連続番号をつけたいのです(セル番地は必ずA5番地)。  まえは、「1」という数値にしておいて、2シート目は +1 と、足しながら連続データを打ってましたが、面倒です。  何か良い方法はないでしょうか?

  • セルに入力したら、別の特定セルに文字表示させるには

    似たようなQ&Aはあったのですが、求めているものとは少し違うので質問させていただきます。 エクセルで、指定したセルに数値を入力したら、 別シートの特定セルに特定文字列を表示させる ということはできませんか。 例えば、sheet1のセルB3に「2」と入力したら sheet2のセルB5に「●」と表示 次に、sheet1のセルB4に「6」と入力したら sheet2のセルD11に「●」と表示 次に、sheet1のセルC3に「4」と入力したら sheet2のB9に「○」と表示           のようなかたちです。 sheet1の入力範囲は、B3:I85程度 sheet2の入力範囲は、B3:FZ170程度で、特定セルは重複しない 表示されるのは、「●」「○」などの文字列 です。 途中経過として、MATCH関数、ADDRESS関数を利用して sheet1のセルに数値入力をしたら sheet2の入力すべきセル番地を求めることまではできたのですが その求めたセルがすべて異なるので、それぞれのセルに移動させて 文字列を表示させることができずに困っています。 解決法をご存知の方、どうぞよろしくお願いいたします。

  • 別シートの同じセル番地を参照したい

    質問させていただきます。 同じブック内で、別シートの同じセル番地の値を参照する表を作りたいと思っているます。 イメージとしては、A1にターゲットのシート名が記入されいるとして、 =INDIRECT(ADDRESS(COLUMN(),ROW(),4,TRUE,$A$1)) の様な関数で出来ればと思っているのですが、うまくいきません。 =INDIRECT($A$1&"!B2")等も試してみましたが、コピー&ペーストB2の部分が相対的に変化してくれないので、困っています。 良い方法があれば教えていただきたいので、よろしくお願いいたします。

  • セルからシート名を得る

    シート「メイン」のA列に、 1 2 3 4 とあって、シート「1」~「4」のA1セルに入力されているデータを、シート「メイン」の数字の横(B列)に表示させたいです。 B1に='1'!A1 B2に='2'!A1 ・・・などとやっていけばできますが、「メイン」のA列の数字をシート名に変換して式を書くことはできませんか? よろしくお願いいたします。

  • Eecelで指定されたセル番地に入力される方法を教えてください

      A  B  C  D  E 1    A1  1 2    A2  2 3    A3  3 4    A4  4 上記のようなシートがあったとします。 B列にセル番地が入力されており、C列には数値が入力されています。 A1にC1の値=1 A2にC2の値=2 という具合に、 B列に入力されているセル番地に隣のC列の値が入力されるようにしたいのですが、どうもうまくいきません。 いい方法があったら教えてください。よろしくお願いします。 ※できれば関数で何とかしたいと思っています。 OS:Windows XP Excel2003です。

  • エクセルで入力した物を指定した別のシートのセルに反映したい

    以前↓で質問した者です。 http://okwave.jp/qa4771245.html 回答を頂いたのですが、質問に言葉が足りずに申し訳ございません。 やりたい事は例えば、 Sheet1のセルA1に「1333」と入力、セルB1に「交換」と入力したらSheet1333のセルC1に「交換」と反映。 Sheet1のセルA2に「1233」と入力、セルB2に「補修」と入力したらSheet1233のセルC1に「補修」と反映。 その後は Sheet1のセルA3に「1333」と入力、セルB3に「故障」と入力したらSheet1333のセルC2に「故障」と反映。みたいに同じSheetに反映させると以前に反映したデータの下のセル(もしくは横)にどんどん反映していける方法はあるのでしょうか? わかりにくい説明かもしれませんが、どうかお願いします。

  • セルに表示されている 別ファイルのシートのセルを参照するには?

    たとえば data.xlsの セルB1には "12345" と入力された別ファイルがあるとして セルA1に data.xls セルA2に Sheet1 セルA3に B1 セルA4に ( =[data.xls]Sheet1!$B$1 )  "12345" を表示したい セルA4にはどのように記入すればいいのでしょうか VBAは使いたくありません よろしくお願いします。EXCEL2000

  • エクセルの他シートからの参照方法について

    エクセルファイルで他のシートからデータを参照して反映させたい場合について、操作が分からないことがあるのでどなたか教えて下さい。 説明がうまくできていなかったらすみません。 sheet1のA列にsheet2のB列のデータを反映させたい場合、sheet1のA1に「=sheet2!b1」sheet1のA2に「=sheet2!b2」…というように設定し、以下は設定済みのA列を選択して下にドラッグしていけば連続データとして参照式が反映できると思うのですが、参照したいデータが連続したセルでない場合の方法が分かりません。 たとえば、sheet1のA1にはsheet2のb1、sheet1のA2にはsheet2のb11、sheet1のA3にはsheet2のb21…というように、反映させたいシートのセルは連続しているのですが、その参照元となるシートのセルは一定の間隔を空けて飛んでいる場合、上記と同じようにドラッグしても、セルの値におかしな数値が入ってしまいます。 仕方がないのでひとつひとつ参照先となるセルを手入力している状態ですが、効率が悪いので、ドラッグ等で一気に参照元を指定したいのですが、どのようにしたらいいのでしょうか? よろしくお願い致します。

  • EXCEL関数/別シートのセル番地をセルの値で指定

    お世話になります。 どうしてもわかりません… エクセル名人の皆様、どうかお知恵をお貸しくださいませ。 Sheet1に下記のようなデータが約5000件あります。   A  B  C   D … BP  … 1 No. ID. 品目 月日…状況 … 2 1 a33  A  3/4   0    3 2 a87  B  5/11  1   このうち、BP列が1のもの約900件のみがSheet2に抽出されています。 (このためのマクロについて前回質問させていただきました) Sheet2:   A  B  C   D   E  F  G  … 1 No. ID 品目 月日             2 2  a87  B  5/11              3 7  b3  K  2/5 4 18 c44  F  12/1 5 11 r93 J 7/28 ちなみにA列のNo.は1,2,3,…と続く通し番号で、だぶりはありません。 Sheet1のデータの項目数は大変多いのですが、Sheet2にはその項目すべては必要でないため、 Sheet2には上記のとおりAからD列までの必須情報のみ抽出し、 E列以降の情報については、必要な列の情報のみ、 A列の通しNo.で紐づけしてVLOOKUP関数で取得したいと考えています。 しかし、Sheet1の表には空欄があり、これを空欄のまま表示させるために IF関数を使いたいのですが、 Sheet1の参照元のセルの番地をどう書けばいいでしょうか? とてもわかりにくくて申し訳ありません… たとえば、Sheet2のA列が18であれば(上記Sheet2のA4)、 元データはSheet1の19行目にあることになります。  A列の数値+1、が行番号ということです。 そのK列を参照する場合、 =IF(Sheet1!K19="","",VLOOKUP(A4,Sheet1!A:K,COLUMN(K4),FALSE) となるかと思うのですが、 このSheet1!K19 というセル番地を、自分で計算して手入力するというのはとても大変なので、 関数などで表現する方法はないでしょうか。 たとえば、Sheet1!K(A4+1) とか書いてみましたが、もちろんこれでよいわけもなく… 不勉強で恐縮ですが、どうしてもわかりません。 どうかご教授ください。 よろしくおねがいいたします。

専門家に質問してみよう