以下のようなデータがあります。
※あああ→住所、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が返ってきてしまいます。
データの追加が必要ですが、
A列:住所
B列:フラグ
C列:新たに追加 、2行目なら=if(B2="A",A2,"")
検索住所がある場所をe5とすると
=IF(COUNTIF(C:C,E5)>0,"A",IF(COUNTIF(A:A,E5)>0,"B",""))
でできると思います。
例を元に簡単なサンプルを作成して試してみましたが、AとBの両方がある場合は最後に一致した方(行番号の大きい方)が返ってくるようですので、予めデータを降順にソートした上で検索すれば良いのではないでしょうか。
そうすれば、AとBの両方があるときは必ずAが最後に一致するのでAを取得できます。
ソート不可なのですね。失礼しました。
そのようなデータだと新たに列を作るのも難しそうですね。
同じ組み合わせが2つ以上存在しない(例えば「あああ・A」の行は絶対に1件しかない)という前提なら、同じ住所が2件あるときはA(あああ・A)とB(あああ・B)の両方が存在していることになるのでAだと判断できると思います(countifを使用)。
1件しかないときはvlookupで取得すればOKです。
特定条件の最小値・最大値を取得する方法
http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/max.html
データの追加が必要ですが、
A列:住所
B列:フラグ
C列:新たに追加 、2行目なら=if(B2="A",A2,"")
検索住所がある場所をe5とすると
=IF(COUNTIF(C:C,E5)>0,"A",IF(COUNTIF(A:A,E5)>0,"B",""))
でできると思います。
普段使わないので忘れていました。
excel2010以降でしたら
C列無しで、
=IF(COUNTIFS(A:A,E5,B:B,"A")>0,"A",IF(COUNTIF(A:A,E5)>0,"B",""))
でできると思います。
普段使わないので忘れていました。
2017/06/05 02:27:20excel2010以降でしたら
C列無しで、
=IF(COUNTIFS(A:A,E5,B:B,"A")>0,"A",IF(COUNTIF(A:A,E5)>0,"B",""))
でできると思います。