主にWindows・ソフトウェア・スマートフォン関連の操作・設定やCD/DVDレーベルを掲載しています、不定期の更新ですが是非、感想、コメント、評価をお願いします。 ブロとも・相互リンク募集中




UNIQUE関数、一意の値(ユニーク化)

UNIQUE関数は、範囲または配列から一意な値を返します。
範囲または配列から重複を削除して一意化した配列を返します。

UNIQUE関数スピルで登場した新しい関数です。

UNIQUE関数の書式

=UNIQUE(配列,[列の比較],[回数指定])

配列

必須です。
並べ替え処理する元データを指定します。
セル範囲または配列です。

列の比較

省略可能。
TRUE : 一意の列を返す

FALSE : 一意の行を返す

省略するとFALSE(一意の行)になります。
そもそも引数名がとても分かりづらいです。
これは、

横(列)方向のデータを一意にする。

縦(行)方向のデータを一意にする。

ということです。
つまり、通常の縦に連なるデータに対して使う時は、
FALSE : 一意の行を返す
これを使う事になります。
従って、ほとんどの場合この引数は省略して使えば良いです。

回数指定

省略可能。

TRUE : 1回だけ出現するアイテムを返す

FALSE : 個別のアイテムをすべて返す

省略するとFALSE(個別のアイテム)になります。

この引数も分かりづらいです。
FALSEが普通の一意化、重複を無くす処理になります。
従って、通常はこの引数は省略して使います。

TRUEの1回だけ出現が分かりづらいのですが、
元データに1回しか出現しないデータのみを
対象とするという事です。
つまり、
そもそも一意になっているデータのみ出力する、
重複しているデータは出力しないということです。
実際の使い道については、かなり限られると思います。


◆ワークシートでの一意化

ワークシート上で、データを一意化する方法として

・COUNTIF関数で重複を判定して削除

・ピボットテーブルで重複を削除

・重複の削除で重複を削除

・フィルタの詳細設定(フィルターオプションの設定)で重複を削除

どれも一長一短はあります。



UNIQUE関数の使用例

1列だけの単純な例

=UNIQUE(A1:A15)

image211.jpg
A列だけで一意化しています。
単純にA列のデータで重複を無くした状態で出力されます。


◆複数列の場合

=UNIQUE(A1:B15)

image221.jpg
A列とB列で一意化しています。
A列とB列を合わせたデータで重複を無くした状態で出力されます。
出力の仕方は違いますが、これは以下と同じことになります。

=UNIQUE(A1:A15&B1:B15)

image231.jpg


◆横(列)方向の一意化

=UNIQUE(A1:O2,TRUE)

image241.jpg
引数の「列の比較」という言葉がわかりづらいですが、
単純に、横(列)方向なら第2引数をTRUEにすれば
良いと覚えれば良いでしょう。


◆1回だけ出現するアイテム

=UNIQUE(A1:A15,FALSE,TRUE)

image251.jpg
A列で一回しか出てこないデータのみ出力されます。
複数列でも理屈は同じです。

=UNIQUE(A1:B15,FALSE,TRUE)

image261.jpg
例えば、A社A商品やA社C商品は2回出てきているので出力されていません。


UNIQUE関数の応用例

全自動の集計表を作成します。
データ行数、集計項目値の増減にも対応できます。

image55.jpg
元表(A:E)のデータ変更に全自動で対応しています。
データ行数はもちろん、取引先や商品の増減にも対応できます。

G2=SORT(SORT(UNIQUE(FILTER(FILTER(A:E,ISNUMBER(C:C)),{1,1,0,0,0})),2),1)

以下の順に処理するように数式を組み立てています。

・内側のFILTER関数でデータのある行だけに絞り、
 外側のFILTER関数で2列に減らしています。
FILTER関数は、定義した条件に基づいてデータ範囲を
フィルター処理した結果を返します。FILTER関数は
スピルで登場した新しい関数です。最後の方では、
表示する列を選択する方法も掲載しています。
FILTER関数の書式 =FILTER(配列,含む,[空の場合]) 配列 必須です。

UNIQUE関数で一意化

・内側のSORT関数で商品順、外側SORT関数で
 取引先順に並べ替えています。
SORT関数は、範囲または配列の内容を並べ替えます。
SORTBY関数は、範囲または配列を対応する範囲または
配列の値に基づいて並べ替えます。
SORT関数とSORTBY関数は範囲を並べ替える関数ですが、
同じこともできますが、
れぞれの関数でなければできないこともあります。

I2=SUMIFS(D:D,$A:$A,OFFSET($G1,1,0,COUNTA($G:$G)-1)
,$B:$B,OFFSET($H1,1,0,COUNTA($H:$H)-1))
J2=SUMIFS(E:E,$A:$A,OFFSET($G1,1,0,COUNTA($G:$G)-1),
$B:$B,OFFSET($H1,1,0,COUNTA($H:$H)-1))
行数自動対応でスピルさせている為、数式が複雑になっています。

SUMIFS関数を集計結果の行数変更に
自動対応させた上でスピルさせています。
SUMIFS関数は、SUMIF関数の条件が複数指定できるようになったものです。
COUNTIFS関数は、COUNTIF関数の条件が
複数指定できるようになったものです。
範囲の中で、指定した条件を満たすセルの個数を数えます。

難解に見えるのはOFFSET関数があるからです。
基準のセルまたはセル範囲から指定された行数と列数だけ
シフトした位置にある、指定の高さと幅のセル範囲の参照を返します。
つまり、基準セルから、指定数だけ移動したセルを起点として、
指定の大きさのセル範囲を取得出来ます。
OFFSET関数の書式 
OFFSET(基準,行数,列数,[高さ],[幅]) 基準

OFFSET関数を固定のセル範囲に置き換えてしまえば、
単なるスピルさせているSUMIFS関数だけになります。


これは、以下のようにテーブル+ピボットテーブルで
作成するものとほぼ同じことになります

※データ行数に自動対応させるためにテーブルにしています。

image110.jpg

どちらが良いという事ではなく、適宜使い分けすれば良いでしょう。





   にほんブログ村 IT技術ブログへ



関連記事















(この一行は、各記事の最後に固定表示するサンプルです。テンプレートを編集して削除もしくは非表示にしてください。)

コメント

コメントの投稿

非公開コメント


(この一行は、各ページ下部に固定表示するサンプルです。テンプレートを編集して削除もしくは非表示にしてください。)
検索フォーム
カウンター



閲覧者数
現在の閲覧者数:
ジャンルランキング
[ジャンルランキング]
コンピュータ
47位
ジャンルランキングを見る>>

[サブジャンルランキング]
ウィンドウズ
17位
サブジャンルランキングを見る>>
RSSリンクの表示



カテゴリ
タグ一覧

 Windows   Windows10   Windows11 

 パソコン   インターネット   HTML 

 自作パソコン   コマンドプロント 

 Microsoft   アプリケーション   iPhone 

 Android   Office2021   Excel 

 Excel2021 

 AfterEffects 

FC2リンク
  • 赤髪船長のCUSTOMラベル
  • ベジベジの自作BD・DVDラベル 超(スーパー)

  • ブロとも一覧

    You talkin' to me ? 2nd_新たなる驚異を求めて

    LEVEL1 FX-BLOG

    梅月夜の夢物語り

    株式情報市場
    QRコード
    QR
    ブログランキング




    にほんブログ村 スマホ・携帯ブログへ にほんブログ村 スマホ・携帯ブログ iPhoneへ にほんブログ村 IT技術ブログへ にほんブログ村 IT技術ブログ IT技術情報へ にほんブログ村 地域生活(街) 沖縄ブログへ にほんブログ村 地域生活(街) 沖縄ブログ 沖縄市・コザ情報へ

    ブログ王ランキング

    相互リンクとランキングプラス

    PC・ソフトランキング













    タイムライン
    セキュリティーソフト
    ウイルスバスター公式トレンドマイクロ・オンラインショップ

    ノートンストア

    マカフィー・ストア

    ZERO ウイルスセキュリティ

    ソフトウェア
    Acronis True Image

    サイバーリンク Power2Go 12

    アフェリエイト











    Powered By FC2ブログ