• ベストアンサー

Excelの入力値検索について

Excel2000の数式(関数?)で困っています。 「A1」~「A20」の中で一番下に入力した値を「A30」に出力する方法を教えていただけないでしょうか。 「A30」のセルに記述する数式(関数)がわからなくて困っています。 例1.「A1」~「A20」に全て値が入力されている場合    → 「A30」には「A20」の値を入力 例2.「A1」~「A12」に値が入力され、「A13」~「A20」は空欄の場合    → 「A30」には「A12」の値を入力 例3.「A2」「A5」「A17」に値が入力され、左記3セル以外は空欄の場合    → 「A30」には「A17」の値を入力 宜しくお願い致します。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

No2 merlionXXです。 =IF(COUNTA(A1:A20),INDEX(A1:A20,MAX(IF(COUNTIF(A1:A20,"*"),MATCH("",A1:A20,-1),0),IF(COUNT(A1:A20),MATCH(MAX(A1:A20)+1,A1:A20,1),0))),"") これでその範囲が全て空欄の場合は何も表示されません。

nori79
質問者

お礼

ありがとうございました。期待通りの動作となり、とても助かりました。 数式の各関数の意味を理解できていないので勉強します。 本当にありがとうございました。

その他の回答 (5)

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

NO5です。 >「A1」~「A20」が未入力の場合に「A30」に空欄や"---"の対応はできるでしょうか。 ⇒空欄の場合が抜けていましたので追記します。  前回答と同様で表示形式を0;-0;;@として下さい。

nori79
質問者

お礼

ありがとうございました。「A30」に空欄や"---"が設定できました。 配列数式というものがあるのですね。又、勉強する項目が増えました。 何度も親切なご回答、本当にありがとうございました。

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

>「A1」~「A20」が未入力の場合に「A30」に空欄や"---"の対応はできるでしょうか。 ⇒セルの書式設定→表示形式タブでユーザ定義を選択→0;-0;"---"(半角で入力して下さい)で如何でしょうか。 >【shift+ctrl+enterキーを同時押下】を行う/行わないの違い ⇒配列数式の場合のエクセルのルール(但し、関数自体が配列型のSUMPRODUCT等は不要です)です。  配列数式に関する概要は以下のURLを参照して下さい。

参考URL:
http://pc.nikkeibp.co.jp/pc21/special/hr/index.shtml
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.4

NO1です。 >混在する場合の検索も必要な為、教えていただけないでしょうか。 ⇒回答しました数式は数値、文字列の混在に対応していますのでお試しください。

nori79
質問者

お礼

誠に申し訳ありません。 以下のご回答の文章を誤って解釈し、数値だけと勘違いしていました。 >入力データが数値と文字列を意識すると数式が長くなるので配列数式としまし。 >数式の入力完了時は、shift+ctrl+enterキーを同時押下して下さい。 試した結果、数値、文字列の混在も大丈夫でした。 お教えいただいた数式でも「A1」~「A20」が未入力の場合に「A30」に空欄や"---"の対応はできるでしょうか。又、【shift+ctrl+enterキーを同時押下】を行う/行わないの違いは何でしょうか。 本当に初心者で申し訳ありません。宜しくお願い致します。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

数値でも文字列でも混在でも途中空白でもOKです。 通常に入力して下さい。(Shift+Ctrl+Enterは不要です。) =INDEX(A1:A20,MAX(IF(COUNTIF(A1:A20,"*"),MATCH("",A1:A20,-1),0),IF(COUNT(A1:A20),MATCH(MAX(A1:A20)+1,A1:A20,1),0)))

nori79
質問者

お礼

早速の回答ありがとうございます。 確認した結果、数値でも文字列でも混在でも途中空白でも「A30」には期待の結果が入りました。あと1点、ご存知でしたら教えて頂きたいことがあります。 「A1」~「A20」が全て空欄の場合は「A30」に #VALUE! と表示されますが、 「A1」~「A20」が全て空欄の場合は「A30」には "---"、もしくは空欄を入力できないでしょうか。 申し訳ありませんが、宜しくお願い致します。

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

一例です。 入力データが数値と文字列を意識すると数式が長くなるので配列数式としまし。 数式の入力完了時は、shift+ctrl+enterキーを同時押下して下さい。 =INDEX(A1:A20,MAX((A1:A20<>"")*ROW(A1:A20)))

nori79
質問者

補足

早速の回答ありがとうございます。 数値で試した結果、期待する値が「A30」に入りました。 申し訳ありませんが、<数値>だけでなく、<文字列>の場合、及び<数値>と<文字列>が混在する場合の検索も必要な為、教えていただけないでしょうか。 お手数かけますが宜しくお願い致します。