エクセル2007:セルを参照する関数

このQ&Aのポイント
  • エクセル2007のセルを参照する方法について説明します。
  • Sheet1とSheet2があり、Sheet2のC1にはSheet1のB3の値を参照しています。
  • C2にはSheet1のB6の値、C3にはSheet1のB9の値を入れたいですが、OFFSET関数を使ってC3をC2の式を使って表すことはできません。
回答を見る
  • ベストアンサー

エクセル2007:セルを参照する関数

Sheet1とSheet2があり、 Sheet2のC1=Sheet1!B3 Sheet2のC2にSheet1のB6の値を入れたいです。 Sheet2のC3にSheet1のB9の値を入れたいです。 C2=OFFSET(Sheet1!B3,0,3) でできましたが、 C3を、C2の式を使って表したいです。 気持ち的には、 C3=OFFSET(C2,0,3) としたいのですが、当然ながらエラーです^^; このように入れられれば C4から下は、コピー&ペーストで行けるのになぁ…と思います。 C3=OFFSET(C2,0,3)としたときに、 関数中のC2が、C2の値ではなく参照しているセルの数式(OFFSET(Sheet1!B3,0,3) )を表すようにはできないものでしょうか???

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

  • ベストアンサー
noname#204879
noname#204879
回答No.2

Sheet2!C1: =Sheet1!B3 Sheet2!C2: =OFFSET(Sheet1!B3,0,3)            ↓ Sheet2!C1: ==OFFSET(Sheet1!B$3,(ROW(A1)-1)*3,)

その他の回答 (5)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.6

 Sheet2のC1セルに =OFFSET(Sheet1!$B$3,(ROWS(C$1:C1)-1)*3,0) と入力してから、Sheet2のC1セルをコピーして、Sheet2のC2以下に貼り付けて下さい。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

C1と1の時ーー>B3の3 C2と2のときーー>B6の6 C3と3ときーー>B9の9 ・・ こんな数列は小学校高学年でやる問題だよ。 Row()*3でしょう。 それに背景にはINDIRECT関数を知っている必要がある。 他にINDEX関数の行指定を工夫しても出来るだろう。 Sheet2のC1に =INDIRECT("Sheet1!B" & ROW()*3) 下方向に式を複写 例データ B1:B 1 2 3 4 5 6 7 8 9 以下略 結果 Sheet2のC1:C5 以下略 3 6 9 12 15 以下略 先日も似た質問があった。

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

>C2=OFFSET(Sheet1!B3,0,3) でできましたが  ⇒この数式では実現できると思えません? >C3を、=OFFSET(C2,0,3)C2の式を使って表したいです。  ⇒関数では出来ませんが、何の利点があるのでしょうか。(個人的には無駄としか思えない)   どうしてもというのならVBAを学習してユーザ定義関数を作成して下さい。  因みにこの程度ならわざわざ関数でなくてもC1に#Sheet1!B3、C2に#Sheet1!B6と入力、  C1:C2を選択して下方向にコピーして下方向にコピー、その範囲を選択して、編集→置換で  #を=に一括置換すれば実現できます。

noname#204879
noname#204879
回答No.3

[No.2]の訂正、 Sheet2!C1: ==OFFSET(Sheet1!B$3,(ROW(A1)-1)*3,)       ↓ Sheet2!C1: =OFFSET(Sheet1!B$3,(ROW(A1)-1)*3,)

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

関数では「セルに記入された数式」を調べる方法は全くありません。 #マクロを駆使してゴリゴリと自作関数を作成すればできます。 簡単な方法 セルC1に,アナタが希望する「どこ番地のセルを持ってきたい」のか記入します 方法1: たとえば「Sheet1!B3」と言葉で記入します 数式は =INDIRECT(C1)   でB3 =OFFSET(INDIRECT(C1),3,0)  でB6 =OFFSET(INDIRECT(C1),6,0)  でB9 方法2: たとえばシート1のB列は固定で,C1に「3」と記入します 数式は =INDEX(Sheet1!B:B,C1)  でB3 =INDEX(Sheet1!B:B,C1+3) でB6 =INDEX(Sheet1!B:B,C1+6) でB9

関連するQ&A

  • 【エクセル関数】参照するセル

    エクセル関数で教えていただきたいです。 セル参照で、参照するセルを、ある法則道理に参照していきたいのです。 例えば、シートA,シートB、とあったときに、 シートBのC3に → シートAのC3を参照、 シートBのC6に → シートAのC4を参照、 シートBのC9に → シートAのC5を参照、 シートBのC12に → シートAのC6を参照・・・・ ・・・・・・・・・・・ という風に、参照元の列は1行づつ増やしていきたいのですが、 それをシートBでは、3行ごとに表示したいのです。 自分でいろいろ試してみましたが、うまくできません。 こういったことは、関数でできるのでしょうか? もし、あれば、教えていただけると助かります。 よろしくお願いします。

  • Excelで別sheetの参照について

    エクセルで別sheetの参照についての質問です。 画像のようにsheet1の値を参照してsheet2表示させたいのですが、これを約100件分作成したいのですがコピー&ペーストをすると参照セルがずれてしまいます。 sheet2のA1をコピーしてA4に張り付け=Sheet1!A2&Sheet1!B2&Sheet1!C2としたいのですが、A4に張り付けを行うと=Sheet1!A4&Sheet1!B4&Sheet1!C4となってしまいます。 複数行あけてペーストする場合に参照セルを1行ずつずらして参照する方法はありますでしょうか?

  • エクセルでのセルの参照

    sheet1にデータが入力されています。 そしてsheet2ではそのsheet1に入っているデータを 抽出するsheetとして使用しています。 そこで、sheet2にある一つのセルに3と入力したら sheet1で使用しているA3、B3、C3、D3・・・ のセルのデータを、 4と入力したら A4、B4、C4、D4・・・ のセルのデータをsheet2のそれぞれのセルに引っぱってこれるように 関数を書きたいと考えています。 INDIRECTが機能的に近いのかなと考え、式を試してみたのですが なかなかうまくいきません。 また、4と入力したときにA5、B5、C5、D5を参照するというように 数値をいじったりできるであればそれも教えていただきたいです。 よろしくお願いいたします。

  • セルを参照させる関数について

    C列には関数で返ってきている値が入っています。(たとえば単純にC1のセルには=SUM(A1:B1)と入っている)そのままC1を横にドラッグしてコピーするとD1のセルには単純に=SUM(B1:C1)となりますが、見に行くセルをC2に、E1のセルの参照するセルはC3を。。。という風に参照させるにはどんな関数を使用すればいいのでしょうか? (単純にD1のセルに=C2と設定はしたくないのが前提です)

  • エクセルのセル参照、一つずつ参照セルをずらしていきたい

    エクセルのセル参照の方法について教えてください。 2つのシートがあって、 ひとつのシートにはC4,D5,E6…というように行と列がひとつずつ増えていくところに値が入力されています。 このシートから、C4,D5,E6…のセルの値を取り出して 別のシートのA1,A2,A3…に縦に並んで表示させたいのですが、どのようにセルを参照させればC4,D5,E6…という 行と列がひとつずつ増えていくセルを参照できるでしょうか? よろしくお願いいたします。

  • Excelセルの参照

    Excelにdataとnという2シートがあります。dataシートのA列3行目~22行目にデータが縦入力されており、以降B列、C列とデータ入力が繰り返されます。 nシートでdataシートの入力値参照のため、あらかじめdataシートの参照リンクを貼っておきたいのですが、nシートのデータは横並びであるせいか、参照リンクをうまくコピーすることができません。 dataセルのA3セルの値をnシートのD1に=data!A3と貼り付けて、W1(=data!A22)まで数式を自動コピーできないでしょうか。また、D2~W2まで=data!B3~=data!B22など参照リンクをコピーで作成できないでしょうか。 よろしくお願いいたします。 横並びに参照する必要があるのですが、

  • EXCEL 2003 数式中の参照セルについて

    数式であるシート(シート1とします)中の値として、 別シート(シート2とします)のセルを参照するとします。 (例a) シート1中の値 =シート2!J36 ※ J36は例 ここまではよいのですが、 上記の行番号「36」の部分を 更に別の参照値から引っ張ってくることは可能でしょうか? やりたいことのイメージ例として以下に記載します。 (例b) =シート2!J(=A1) ※ここの「A1」はシート2中の参照するセル番号を指定するための シート1中に設けたセルとします。 ※上記の数式は実際にはエラーになり入りません。 最初の例aでは、シート2中の参照するセル番号を数式編集して 指定しないといけないため、参照箇所が多いと大変ですが、 もし、例bのような指定ができればシート2中の参照するセル番号の 入力は一箇所ですみ楽になりありがたいと考えています。 わかりにくい文章ですみません。よろしくお願いします。

  • エクセル関数の参照

    Dドライブの「MY」フォルダに保存されている「File1」ブックのワークシート「sheet1」から、セル範囲B1:B5を参照するSUM関数の数式は、以下のとうりである。 =sum(D:\MY\[File1.xls]sheet1'!B1:B5) という問題があるのですが、何度試してもエラーがでます。 上記の式は正しいのでしょうか?教えて下さい。

  • 別シートへのセル参照について

    別シートへのセル参照についての質問です。 例えばSheet1のA1,B3,C6,G9に値が入っているとします。 その値を順にSheet2のB2,C4,D9,E17に参照したいのですが、 それぞれにセル参照しないとダメなんでしょうか? Sheet1,Sheet2に違う種類の表があって、それぞれに同じ値を入力するんですが、Sheet1に入力すれば自動的に入るようにしたいです。 実際はSheetや、値を入力するセルがかなり多いので、ひとつひとつセル参照するのが大変なので・・・よろしくお願いします。

  • エクセルでセルの位置情報を返す数式を教えてください

    エクセルでセルの位置情報を返す数式を教えてください。 エクセルでセルの位置情報を返す数式を教えてください。 たとえば以下のような表がある場合、Offset関数でC4の値を 出したい場合は、offset(A1,3,2,1,1)となります。 しかし、A1のリストの位置が不明のためこの位置を反映することのできる 数式を教えていただけると助かります。 よろしくお願い致します。 A B C 1 リスト 2 あ 10 20 3 い 30 40 4 う 50 60

専門家に質問してみよう