• ベストアンサー

EXCELの論理式で、計算結果の行番号を任意の列に結合したい

色々調べてみたのですが解決に辿り着けず、ここで皆様のお力を貸して頂きたく参りました。よろしくお願いいたします。 当方Excel2002を使用しています。 例えば今A1に20という数値が入っているとすると、A2に記入する論理式内で「B列の20行を表示せよ」というようにしたいのです。 つまり、A1の数値に列のアルファベットを結合させて論理式として成立させたいのですが、どのようにすれば良いのでしょうか?

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

>A2に記入する論理式内で「B列の20行を表示せよ」 B列の20行目を表示 =INDEX(B1:B100,A1) 1行目から20行目の合計を表示 =SUM(B1:INDEX(B1:B100,A1)) >A1の数値に列のアルファベットを結合させて論理式として成立させたい INDIRECT関数のこと =INDIRECT("B"&A1)

0calorie
質問者

お礼

ありがとうございます! まさにそれがやりたかったことなんです。非常に助かりました!^^

その他の回答 (2)

  • keirika
  • ベストアンサー率42% (279/658)
回答No.3

私の勘違いの場合、ご容赦願います。 『A2に記入する論理式内』とありますがA2ではなくB1ではないでしょうか。 そうだと仮定した場合。以下の式になります。 =OFFSET(B$1,$A$1-1,0,1,1)

0calorie
質問者

お礼

すみません、説明が苦手でして…ーー; A2っていうのは仮でして、実際はどこでもいいんです。A1の数値を行番号として、任意の列名をくっつけて表示したいっていう意味です。 けどご丁寧にありがとうございました^^

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

>論理式で この表現が質問者の言わんとすることを表すには不適切と思います。 関数や関数式と言う表現を使うべきではないかなと思う。 エクセルの本で調べたが索引には載っていません。 エクセルでは http://www.relief.jp/itnote/archives/001181.php のような箇所に顔を出します。 もちろんプログラム関連などでこの言葉が使われることは存知てます。 特定列の特定行(行番号数を別セルで指定とか固定数)の「セルの値」を採るというのは (1)INDEX関数 (2)OFFSET関数 で出きます。 (1)は表の縦座標と横座標を指定して、交差点のセルの値を取るイメージです。 (2)は基点セルを中心に、そこからのずれのセル数をやはり縦方向 と横方向の2つの引数で指定します。 A1を基点にするとB列は横方向に+1、縦方向には質問の場合は20-1=19で =OFFSET(A1,A1-1,1,1,1) となります。 =OFFSET(A1,A1-1,1)でも1セルの場合はOKのようです。 B1を基点にすると =OFFSET(B1,19,0,1,1) OFFSET関数は、本来第4.第5引数で指定する行、列数でセル範囲を指定するときに重宝する関数です(関数の中で多分唯一)。 この質問のように1セルの値を返せばよいときは使えます。逆にINDEX関数は複数セル範囲を返すことは出来ません、という特徴がある。 エクセル関数の、中の上レベルになると、これらの関数は課題解決に活躍します。

0calorie
質問者

お礼

なるほど。。。当方Excelを使い始めたばかりでして、表現が不適切だったかもしれません。すみませんでした。 IF関数とか入力すると、Excelのサポートウィンドウで論理式って出るもんで、てっきりそうなんだとばかり^^; わかりやすいご説明ありがとうございます。 また一つ、Excelについての知識を加えることができました。

関連するQ&A