人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル関数・優先順で検索結果を返したい。

以下のようなデータがあります。
※あああ→住所、A/B→広告有無のフラグ(Bが広告なし)
※一つの住所に対しA/Bが共存するのは、異なる時期データ混在のため(ただし時期データはなし)

あああ A
あああ B
いいい A
いいい B
ううう A
えええ B

このデータから、住所ユニークで、AかBを取得したいのですが、ABの両方がある場合はAを優先して返すようなエクセル関数はありますか?
要は、住所毎に、広告経験の有無をつけたいです。

住所 返り値
あああ A(A/BからAを返したい)
いいい A(A/BからAを返したい)
ううう A(Aしかないから、Aが返る)
えええ B(Bしかないから、Bが返る)

vlookupだと、データの並び順次第で、"あああ"や"いいい"にBが返ってきてしまいます。

●質問者: 匿名質問者
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● 匿名回答1号

例を元に簡単なサンプルを作成して試してみましたが、AとBの両方がある場合は最後に一致した方(行番号の大きい方)が返ってくるようですので、予めデータを降順にソートした上で検索すれば良いのではないでしょうか。
そうすれば、AとBの両方があるときは必ずAが最後に一致するのでAを取得できます。


匿名質問者さんのコメント
ありがとうございます。今回は、ソートしたくないので他の方法がないかと探しております。情報不足すみませんでした(補足しました)。

匿名回答1号さんのコメント
または、結果だけ分ければ良いのであれば「住所」と「広告有無のフラグ」をそのまま&などで連結した列を新たに作り、その列に対して「住所A」(上記の例なら「あああA」や「えええA」など)で検索するという方法もあります。 一致する行があれば当該住所はA、逆に一致する行がなければBだと判断できます。

匿名回答1号さんのコメント
ソート不可なのですね。失礼しました。 そのようなデータだと新たに列を作るのも難しそうですね。

匿名回答1号さんのコメント
同じ組み合わせが2つ以上存在しない(例えば「あああ・A」の行は絶対に1件しかない)という前提なら、同じ住所が2件あるときはA(あああ・A)とB(あああ・B)の両方が存在していることになるのでAだと判断できると思います(countifを使用)。 1件しかないときはvlookupで取得すればOKです。

質問者から

業務上の都合で、データの並び順に左右されない(ソートを気にしなくてよい)方法を探しています。


2 ● 匿名回答2号

特定条件の最小値・最大値を取得する方法
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/max.html


3 ● 匿名回答3号
ベストアンサー

データの追加が必要ですが、
A列:住所
B列:フラグ
C列:新たに追加 、2行目なら=if(B2="A",A2,"")

検索住所がある場所をe5とすると
=IF(COUNTIF(C:C,E5)>0,"A",IF(COUNTIF(A:A,E5)>0,"B",""))
でできると思います。


匿名回答3号さんのコメント
普段使わないので忘れていました。 excel2010以降でしたら C列無しで、 =IF(COUNTIFS(A:A,E5,B:B,"A")>0,"A",IF(COUNTIF(A:A,E5)>0,"B","")) でできると思います。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ