- ベストアンサー
エクセル2007:セルを参照する関数
- エクセル2007のセルを参照する方法について説明します。
- Sheet1とSheet2があり、Sheet2のC1にはSheet1のB3の値を参照しています。
- C2にはSheet1のB6の値、C3にはSheet1のB9の値を入れたいですが、OFFSET関数を使ってC3をC2の式を使って表すことはできません。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
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)
Sheet2のC1セルに =OFFSET(Sheet1!$B$3,(ROWS(C$1:C1)-1)*3,0) と入力してから、Sheet2のC1セルをコピーして、Sheet2のC2以下に貼り付けて下さい。
- imogasi
- ベストアンサー率27% (4737/17069)
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)
>C2=OFFSET(Sheet1!B3,0,3) でできましたが ⇒この数式では実現できると思えません? >C3を、=OFFSET(C2,0,3)C2の式を使って表したいです。 ⇒関数では出来ませんが、何の利点があるのでしょうか。(個人的には無駄としか思えない) どうしてもというのならVBAを学習してユーザ定義関数を作成して下さい。 因みにこの程度ならわざわざ関数でなくてもC1に#Sheet1!B3、C2に#Sheet1!B6と入力、 C1:C2を選択して下方向にコピーして下方向にコピー、その範囲を選択して、編集→置換で #を=に一括置換すれば実現できます。
[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/7941)
関数では「セルに記入された数式」を調べる方法は全くありません。 #マクロを駆使してゴリゴリと自作関数を作成すればできます。 簡単な方法 セル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