Excelで数式だけで一意の値を取得する
2023-11-05 11:12:19
質問
Excel で一意な値のリストを数式で計算する方法をご存知ですか?
例
垂直方向の範囲に値がある場合
"red"
,
"blue"
,
"red"
,
"green"
,
"blue"
,
"black"
そして、結果として
"red
,
"blue"
,
"green"
,
"black"
+最終的に他の2つの空白セル。
SMALLまたはLARGEとINDEXを組み合わせて計算されたソートされたリストを得る方法をすでに見つけています。
どのように解決するのですか?
これは古いもので、いくつかの解決策がありますが、私が思いついたのは より短く、より簡単な式 を思いつきました。これは、通りすがりの誰かにとって役に立つかもしれません。
私は色のリストに
Colors
(A2:A7)、そして
配列式
をセルに入れる
C2
はこれ(
固定
):
=IFERROR(INDEX(Colors,MATCH(SUM(COUNTIF(C$1:C1,Colors)),COUNTIF(Colors,"<"&Colors),0)),"")
使用方法
Ctrl+Shift+Enter
で数式を入力します。
C2
に入力し、C2 を下にコピーして
C3:C7
.
サンプルデータ{"red" "blue" "red" "green" "blue" "black"} で説明します。
-
COUNTIF(Colors,"<"&Colors)
は、データ {4;1;4;3;1;0} の各項目より小さい値の数を配列 (#1) で返します (黒=0項目より小さい、青=1項目、赤=4項目)。これを翻訳すると ソート値 に変換されます。 -
COUNTIF(C$1:C...,Colors)
は、ソートされた結果にすでに含まれている各データ項目に対して1を持つ配列 (#2) を返します。C2 では {0;0;0;0;0} を返し、C3 では {0;0;0;0;0;1} を返します。これは "black" がソートで最初に、データで最後にあるためです。C4 {0;1;0;0;1;1} では "black" を示し、 "blue" の出現はすべて既に存在しています。 -
は
SUM
は k-番 のソート値を返します。これは、既に存在する小さい値の出現をすべて数えることによって行われます(配列#2の合計)。 -
MATCH
はk番目のソート値の最初のインデックスを見つけます(配列#1のインデックス)。 -
は
IFERROR
を隠すだけです。#N/A
エラーを隠すだけです。
ユニークアイテムの数を知るには、次のようにします。 正規の計算式 :
=SUM(IF(FREQUENCY(COUNTIF(Colors,"<"&Colors),COUNTIF(Colors,"<"&Colors)),1))
関連
-
[解決済み] Excelの数式で二重引用符を含む文字列を作成する方法は?
-
[解決済み] Excelの日付から文字列への変換
-
[解決済み] セルからコピーする際に引用符を省く
-
[解決済み] Excel 2010の「フォームコントロール」と「ActiveXコントロール」の違いは何ですか?
-
[解決済み] NodejsでExcelファイルを作成するには?
-
[解決済み] RスクリプトからExcelファイルを直接読み込む
-
[解決済み] VBAを使用してプログラム的に参照を追加する方法
-
[解決済み] Excelで列のすべてのセルに同じテキストを追加する
-
[解決済み] エクセルで列の行を1つのセルに結合する方法は?
-
Excelの現在のセルへの参照
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Excelの日付から文字列への変換
-
[解決済み] Excel での ISO8601 日付/時刻 (TimeZone を含む) のパース
-
[解決済み] RスクリプトからExcelファイルを直接読み込む
-
[解決済み] なぜExcelは同じ名前のファイルを2つ扱えないのですか?[クローズド]
-
[解決済み] VBAを使用してプログラム的に参照を追加する方法
-
[解決済み] 「VBA標準関数で「プロジェクトまたはライブラリが見つかりません。
-
VBAでExcelファイルを表示せずに読み出し用に開く
-
Excelマクロをコマンドラインまたはバッチファイルから実行する方法は?
-
Excel VBAで文字列をURLエンコードする方法を教えてください。
-
コードゴルフ:Excelの列名に相当する数値