blog - エクセルで最大値検索など
エクセルで、ある項目の最大値をテーブルから検索する場合、配列数式を使うとよい。
=MAX(IF(検索する項目のセル範囲=検索する項目,検索する値のセル範囲)) と入力し、Shift+Ctrl+Enter で数式を確定すると、数式は { と } でくくられ、配列数式として機能する。
その後、rank関数を使って、項目の値の順位を決める。
最後に、rank関数の順位順に並べるには、VLOOKUP関数を使う。
たとえば、
=VLOOKUP(rankの順位,rank関数のあるセル範囲,表示したい項目の列順,FALSE)
などとする。
こうすれば、項目が最大値順に自動的に並べられるので、このセル範囲を「挿入」-「名前」-「定義」で定義して、「データ」-「入力規則」の「設定」タブの「元の値」を「=セル範囲名」としておくと、常に最大値順にソートされたプルダウンメニューから値を選べる。
これは、PHPとSQLでは頻出だが、データベースなしのエクセルだけでも、SQLのSELECT文みたいなことができる。
=MAX(IF(検索する項目のセル範囲=検索する項目,検索する値のセル範囲)) と入力し、Shift+Ctrl+Enter で数式を確定すると、数式は { と } でくくられ、配列数式として機能する。
その後、rank関数を使って、項目の値の順位を決める。
最後に、rank関数の順位順に並べるには、VLOOKUP関数を使う。
たとえば、
=VLOOKUP(rankの順位,rank関数のあるセル範囲,表示したい項目の列順,FALSE)
などとする。
こうすれば、項目が最大値順に自動的に並べられるので、このセル範囲を「挿入」-「名前」-「定義」で定義して、「データ」-「入力規則」の「設定」タブの「元の値」を「=セル範囲名」としておくと、常に最大値順にソートされたプルダウンメニューから値を選べる。
これは、PHPとSQLでは頻出だが、データベースなしのエクセルだけでも、SQLのSELECT文みたいなことができる。