- 締切済み
エクセル関数教えてください。
すごく単純そうでいて分からなくなってしまったことがあります。 「=C1」 というような簡単な式がありますが、 「C」の部分、「1」の部分を他のセルに入っている値を利用したいのです。 B3セルに「=A1セルに書かれた列番号 B1セルに書かれた行番号」という式を入れたい。 というかんじです。
- みんなの回答 (6)
- 専門家の回答
みんなの回答
- Chiquilin
- ベストアンサー率30% (94/306)
A1に「3」 B1に「1」と入力している場合なら 「=INDEX(C:C,B1)」とか 「=INDEX(1:1,A1)」とか 「=INDEX(1:1048576,B1,A1)」で。 どうしても記号で指定したいというなら A1に「C」 B1に「1」と入力して 「=INDIRECT(A1&B1)」 「=INDEX(1:1048576,B1,CODE(A1)-64)」 どっちもお勧めはしませんが 後者の方がまだましです。
- bunjii
- ベストアンサー率43% (3589/8249)
- imogasi
- ベストアンサー率27% (4737/17069)
色んなやり方を考えてみた。 例データ A1とA2に 3 ーー列数字 4 ーー行数字 の数値データがあるとする。 また C4セルに、数値「123」があるとする。文字列でも可。 ーー C4セルの結果と その関数式 123 =OFFSET(A1,A2-1,A1-1) 123 =INDEX(A1:Z10,A2,A1) ’A1:Z10’のZと10は一例 123 =rng(A2,A1) VBAで私製巻数作成。下記。rngは任意に設定可 123 =INDIRECT(CHAR(64+A1)&CHAR(48+A2)) ーー 123 =INDIRECT("C4") '参考 C4 =CHAR(64+A1)&CHAR(48+A2) ’参考 ーー VBAで作る私製関数 標準モジュールに Function rng(x, y) rng = Cells(x, y) End Function を作成
- SI299792
- ベストアンサー率47% (780/1630)
すみません。 見間違えていました。 C1を参照するときは、 A1 3 B1 1 と入力するのですね。 =OFFSET(A1,B1-1,A1-1) です。このくらいのミスはすぐわかると思うのですが、念のため書いておきます。 ここは回答が削除できないから不便だ。間違い回答が残ったうえ、回答だらけとなりごちゃごちゃになる。
- skp026
- ベストアンサー率45% (1010/2238)
以下の記事はそのものだと思いますので確認ください。 参照するセルの位置を数式で指定する - 計算結果により参照するセルの位置を変更する https://www.ipentec.com/document/excel-reference-cell-location-use-variable OFFSETとINDIRECTの2種類の方法が紹介されています。
- SI299792
- ベストアンサー率47% (780/1630)
C1を参照するときは、 A1 3 A2 1 と入力するのですね。 =OFFSET(A1,A2-1,A1-1) です。 空白の時0になるのが嫌なら、 セルの書式設定で#にします。 0は出して空白は出したくないなら、 =IF(OFFSET(A1,A2-1,A1-1)="","",OFFSET(A1,A2-1,A1-1)) です。
お礼
ありがとうございました。うまくいきました。