No.5ベストアンサー
- 回答日時:
#3の回答者です。
#1様の数式について、私は、#3で詳しくは書きませんでした。すみません。ご質問者さんがエラーが発生するとしたら、このような状況が考えられます。
Excel 2003以下の仕様にはこのような問題があります。
Excel の仕様および制限
計算の仕様 --ワークシートの配列
http://office.microsoft.com/ja-jp/excel/HP051992 …
#1の数式は、INDEXは、配列数式です。
「セルの範囲 = 値」というスタイルは、配列数式といいます。一般数式は「ひとつのセル = 値」です。
それは、一旦、キャッシュの中に、計算ステージができて、そこで計算されます。そこから値を取り出すには、INDEX関数やSUMPRODUCT関数を使ったり、配列の確定(F2を押して、『ShiftとCtrlを押しながらEnterキー』を押す)をしたりします。
ですから、INDEX 関数等を使わない場合は、配列の確定をしても同様になります。Office 2007 では、その仕様が変わり、列全体をして指定しても、配列の制限がありません。ただし、広範囲にすると計算が遅くなることがあります。下位バージョンでは、範囲を指定しないと配列は不可能なのです。
ご興味のある方は、以下をごらんください。
Excel で配列を使用する処理の制限について
http://support.microsoft.com/kb/166342/ja
No.4
- 回答日時:
NO1です。
提案した関数は配列数式ではなく、ただの配列ですので配列数式の制約(入力完了時のshift+ctrl+enterキー同時押下、列指定はできない)はありません。
尚、当方エクセル2007でしか評価できていませんので一度お試しください。
No.3
- 回答日時:
こんにちは。
配列は必要ありません。
C1 に、「りんご」と置きます。
=IF(COUNTIF($A$1:$A$20,$C$1)>0,INDEX($A$1:$B$20,MATCH($C$1,$A$1:$A$20,0)+COUNTIF($A$1:$A$20,$C$1)-1,2),"")
なお、配列数式では、列全体を参照することはできません。たとえば、配列で列全体 C:C や範囲 C1:C65536 を参照することはできません。範囲を限定しなけばなりません。
例:
=INDEX(B1:B20,MAX(INDEX((A1:A20=C1)*ROW(A1:A20),)))
No.2
- 回答日時:
VLOOKUP関数は複数該当の何番目がを指定できない。
また検索表を逆に並べ替えてもダメ。
もしりんご行の中で現状の順序を逆転できれば、使えるかもしれないが並べなおしも、それも難しい。
ーー
配列数式で
例データ
りんご10
りんご30
りんご20
りんご25
他の品目は手抜きで、省略。
空きのセルに =INDEX(B1:B10,MAX(IF(A1:A10="りんご",ROW(A1:A10)))) と入れて、SHIFT、CTRL,ENTERキーを同時押し。
結果
25
No.1
- 回答日時:
vlookup関数ではできません。
一例です。
仮にA列に品名、B列に値としています。
=INDEX(B:B,MAX(INDEX((A:A="りんご")*ROW(A:A),)))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) こんにちは。ExcelのVLOOKUP関数のことで教えてください。 2 2022/05/07 11:33
- Excel(エクセル) Excel_マクロ_複数のシートのVLOOKUPで表示された#N/A以外に色付けをしたいです 1 2023/02/16 22:37
- Excel(エクセル) ExcelのVLOOKUP関数 7 2022/08/23 06:46
- Excel(エクセル) GASで重複データの件数ではなく、何番目かを求める方法について 2 2022/12/10 14:56
- Excel(エクセル) VLOOKUP が機能しない、その原因は何 ? 8 2022/10/19 12:06
- その他(Microsoft Office) エクセルについて教えてください。 2 2022/10/20 14:55
- Excel(エクセル) K14のセルにVlookup関数を使い IF(J14="","",VLOOKUP(J14,$B$4: 2 2023/05/17 20:26
- Excel(エクセル) Excel2016 行間を詰めたい&同じカテゴリなら上位2つだけを表示したい 5 2022/06/03 12:19
- Excel(エクセル) マクロを簡潔にしたい 6 2022/09/16 10:37
- Excel(エクセル) エクセルで値ではなく関数を参照する方法 6 2023/03/19 00:50
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列数式の解除
-
VBA 1次元配列を2次元に追加する
-
subの配列引数をoptionalで使う...
-
2つ以上の変数を比較して最大数...
-
《エクセル2000》A列・B列の商...
-
配列変数の添字が範囲外ですと...
-
配列を任意の数値で埋める方法
-
ArrayListの初期値に二次元配列...
-
[Excel2000_VBA] 型が一致しま...
-
Excel-VBAの配列「Public Const...
-
linest関数に配列を渡す
-
for each の現在の配列ポインタ...
-
2次元動的配列の第一引数のみを...
-
VB6 配列を初期化したい
-
ビンゴ
-
VBのFunctionで、配列を引数...
-
配列内の内容を全て表示する方法
-
VLOOKUP関数で、一番下...
-
50音
-
delphiで配列を、コピーするには。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
配列数式の解除
-
2つ以上の変数を比較して最大数...
-
VBA 1次元配列を2次元に追加する
-
特定のセル範囲で4文字以上入力...
-
for each の現在の配列ポインタ...
-
VBのFunctionで、配列を引数...
-
subの配列引数をoptionalで使う...
-
VB6 配列を初期化したい
-
ListViewで、非表示列って作れ...
-
配列変数の添字が範囲外ですと...
-
Excel-VBAの配列「Public Const...
-
2次元動的配列の第一引数のみを...
-
VBAで近似曲線の係数取得
-
VLOOKUP関数で、一番下...
-
配列に同じ値を入れる方法
-
エクセルで最小値から0を除く方法
-
linest関数に配列を渡す
-
配列を任意の数値で埋める方法
-
Dim は何の略ですか?
-
配列内の内容を全て表示する方法
おすすめ情報