プロが教えるわが家の防犯対策術!

行数が一定でないB列からユニーク値を取り出したいため、
UNIQUE関数を使っています。
ただし、B列全てでなく、B4セルに項目名、B5セル以降にデータが入っており、
現在300行ほどですが、将来的に増える可能性があるので(と言っても1,000は行かない想定)
万が一にもはみ出ないよう余裕をもってこんな関数を指定しています。
=UNIQUE($B4:$B10000)

一つだけ気になる点は、
書き出したユニーク値の最後に"0"が入ってしまう点です。
理由も想像出来ていて、指定範囲の中に空白セルも含むため、
UNIQUE関数の対象になってしまい"0"が出て当然です。
これで支障はないのですが、もしかしてもっとスマートな手法でもあればと質問させて頂きました。

A 回答 (4件)

私ならFilter関数とスピルを使用して要件を実現します。



=UNIQUE(FILTER($B4:$B10000,$B4:$B10000<>""))
    • good
    • 11
この回答へのお礼

ありがとうございます。
スピルという言葉が初耳で、意味が分からないままその数式を使わせていただいたところ、
なんと希望通りに空白抜きに抽出されました。
良く理解できてないので悔しいですが、希望がかないました。
ありがとうございます。

お礼日時:2021/03/22 09:54

こんばんは、


FILTER関数と組み合わせて使用するのはどうでしょう。
参考 http://officetanaka.net/excel/function/function/ …
    • good
    • 0
この回答へのお礼

No.1での回答と同じ考え方で、その解説をしてくれているんだと認識しています。
ありがとうございました。

お礼日時:2021/03/22 10:00

自分なら、B列全体を検索対象にし、


そして、
 1行目を空白にして、
 別の列の1行目にUNIQUE関数を入れる。
 最後に1行目を非表示にする。
要は、「0」が表示される場所を指定して、その行を非表示にしてしまえと...。

そんな力業使うかな。
スマートじゃないけどね。
    • good
    • 0
この回答へのお礼

今回の場合、B列の上の方に関係ないテキストが撃ち込まれているため、
B4から下を指定してるんです。
でも工夫でも何とかなるもんですね。
ありがとうございます。

お礼日時:2021/03/22 10:00

FILTERで不要な行を取り除いてから UNIQUEを使えばできますが



> 万が一にもはみ出ないよう余裕をもってこんな関数を指定しています。
そもそもテーブル設定を入れて構造化参照にすれば済むのではない
かと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A