• ベストアンサー

どんな数式を入力すればいいのでしょう?

(A1:Z1)の1行の表に空白セルと数字入力セルがランダムに入力されています。  最右セル(Z1)から見て、数字が入力されている最初のセルの値を取り出したいのです。 例えば、Y1=2, Z1=3 (他のセルは空白)ならば 3 B1=4 , K1=8 ,M1=5 (他のセルは空白)ならば 5 というように最右から最初に出て来るセルの数字を取り出したいのです どんな計算式(関数)を入力すればいいのでしょうか?

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

=INDEX(A1:Z1,1,SUMPRODUCT(LARGE((A1:Z1<>"")*COLUMN(A1:Z1),1))) でどうでしょう

mentaru
質問者

お礼

SUMPRODUCT以下の意味が分かりませんができました。 ありがとうございました。

その他の回答 (6)

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

次の方法は如何でしょうか。 =INDEX(1:1,MATCH(MAX(A1:Z1)+1,A1:Z1,1))

mentaru
質問者

お礼

ありがとうございました

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.6

要するにA1:Z1で一番右のセルの値(数値)を求めるんですよね =LOOKUP(10^10,A1:Z1)

mentaru
質問者

お礼

こんなに簡単な数式でできるんですか!? ありがとうございました

noname#204879
noname#204879
回答No.5

{=INDEX(A1:Z1,1,MAX(COLUMN(A1:Z1)*ISNUMBER(A1:Z1)))} (配列数式)

mentaru
質問者

お礼

ありがとうございました

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

=MAX(IF(ISNUMBER(A1:Z1),COLUMN(A1:Z1),0)) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。これで最右の列番号(数字)が出ます。 (例)F1がa,J1が12、N1が1で14 セルの数値は =INDEX(A1:Z1,1,MAX(IF(ISNUMBER(A1:Z1),COLUMN(A1:Z1),0))) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。 1が答えになりました。 これをABC・・・列記号に直すには =CHAR(64+MAX(IF(ISNUMBER(A1:Z1),COLUMN(A1:Z1),0))) と入れてSHIFT+CTRL+ENTERの3つのキーを同時押しする。 Nになります。

mentaru
質問者

お礼

解き方にもいろいろとあるんですね! ありがとうございました。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.3

#01です。少し説明しましょうか。 (A1:Z1<>"")は配列式ですがA1~Z1のそれぞれのセルが空白で無いとき1、空白の時0の値になります。(結果も26個の配列です) またCOLUMN関数は列番号を取得する関数ですので、  (A1:Z1<>"")*COLUMN(A1:Z1) は「空白でない列のときその列番号の配列」を返します。 LARGE関数(またはMAX関数)で上記「列番号の配列」から最大値を求めると「空白でない最大列(=最右列)の列番号」が求まります。そしてINDEX関数で最右列の値を取り出しているのです。 なおSUMPRODUCT関数は元々は配列どうしのかけ算を行う関数なのですが、配列数式(Shift+Ctrl+Enterで確定)にしなくても配列を扱えるので便利です。色々と応用できる関数ですので、過去の質問をSUMPRODUCTで検索してみたらよいでしょう

mentaru
質問者

お礼

ようやく分かりました! 列番号を使うという意味に納得しました ありがとうございました

  • onlyrom
  • ベストアンサー率59% (228/384)
回答No.2

配列数式を使って =INDEX(A1:Z1,1,MAX(COLUMN(A1:Z1)*(A1:Z1<>""))) 式を確定するときは、Enter ではなくて、Shift+Ctrl+Enter で確定する  

mentaru
質問者

お礼

回答してくださった数式の意味がわかりませんができました ありがとうございました 配列を使うということはNo.1の回答者さんと同じような 意味でしょうか?(A1:Z1<>"")が分かりません

関連するQ&A