
評価に基づいてランク付けされた、シンプルな(フォーマットされた)表(表 1)があります。
Rank Name Rating
1 etc etc etc
4 etc etc etc
3 etc etc etc
2 etc etc etc
並べ替えの順位を確認する VLOOKUP (形式は) テーブル (表 2) があります。
ここで、表 1 に別の値を追加するときは、表 2 に移動して、vlookup が検索する数値を追加し、表を拡張する必要があります。
その部分を自動化する方法はありますか?
したがって、テーブル 1 に新しい行を追加すると、テーブル 2 も自動的に更新されます。
答え1
FILTER()
必要なものは次のとおりです:
=FILTER(Table1,Table1[Column1]<>"")
Table1
はコンポーネントを追跡しているので、値を追加すると、追跡しているものにそれらの値が追加されます。FILTER()
次に、追加されたものも含め、すべてのコンポーネントを返します。
並べ替えに関しては、SORT()
その結果だけを使用できます。
ただ一つ問題があります...
FILTER()
テーブル内では期待どおりに動作しません。テーブル外からはテーブル上で問題なく動作しますが、テーブル内では動作しません。
出力もテーブル内にあるため、テーブル内で使用することはできません。したがって、出力をテーブル内に置かないようにするか、FILTER()
(およびSORT()
、ここでも示されている) のような配列数式を避ける必要があります。
では、なぜ正式なテーブルにする必要があるのでしょうか。テーブルを持つことのほとんどのポイントは、テーブルへの物理的なデータ入力ではなく、ここで求めている方法からのデータ入力であると説明されているため、テーブルを作成する必要がないようです (物理的なデータ入力は Table1 で行われます)。残りのポイントは、入力のために Table2 を参照する他の数式で「構造化参照」を使用することです。
これらは過大評価されているだけでなく、冗長でもあります。また、単に、同様の用途の列に名前を付けるだけで済むため、まったく必要ありません。したがって、Table2 で視覚的に使用するためのデータの簡単な入力と並べ替えと、Table2 を参照する構造化参照の使用のどちらが重要かを判断する必要があります。
私が使用したことがある別の方法は、Tables 以前の古い方法よりも不快ではないと感じましたが、中間の「テーブル」を使用してFILTER()
データを入力し、並べ替え、次に古い方法で数式を構築して実際の Table2 にデータを入力します。この数式は、ヘルパー テーブル範囲に自動的に適用され、自動並べ替えが適用されます。そのため、Table2 は完全にデータが入力され、並べ替えられ、構造化参照を使用して後続の使用に使用できるようになります。
上記のすべてには、実際の状況によって克服する必要があることが明らかになる困難があり、また、文字通りの使用では問題にならない困難もあります。
賛成の理由の 1 つは、Excel がテーブルと配列の数式の問題をいつか修正することです。まあ、2050 年までに確実に修正されるでしょう。- たぶん。いつか。修正されたら、Table2 の数式をSORT(FILTER())
ヘルパー テーブル/範囲の数式に置き換えて更新し、ヘルパー テーブルを削除するだけです。
あるいは、他の人が言っているように、VBA が利用可能で (上司がそれを使用することを気にしない)、使い方もわかっている場合は、VBA で完全に解決できます。