[[20180317204728]] 『IFとREPLACE(除外も)いずれかを反映させたい』(汁小屋) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『IFとREPLACE(除外も)いずれかを反映させたい』(汁小屋)

お世話になります。
下記手に負えず、ご教示願います。

   A       B     C
1 CD(埼玉県)  中国人  埼玉県
2 DVD(神奈川県) 日本人  神奈川県■
3 VHS(国外)   外国人  国外

C列に下記を入力しています。
=IFERROR(REPLACE(LEFT(A1,LEN(A1)-1),1,SEARCH("(",A1),),"")&IF(OR(B1="日本人",B1="米国人"),"■","")

※改善したい点※
1)REPLACEでA列の【CD】及び【DVD】のカッコ内を抜き出したいが、【VHS】のカッコ内は不要
2)優先させるのはA列で、Aのカッコ内が反映されるならB列の■は不要
尚、A・B列共にブランクセルがあり、エラーは避けたいです。
よろしくお願いいたします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 ルールがちょっと不明瞭です。

 VHS で 日本人だったらどうなるんですか?

(半平太) 2018/03/17(土) 23:18


情報不足ですみません、VHSで日本人なら、日本人のみ抜き出したいです。
A列の中には抽出不要な項目があり、その場合はB列から抽出したいのです。
(汁小屋) 2018/03/18(日) 08:52

 >【CD】及び【DVD】のカッコ内を抜き出したいが、【VHS】のカッコ内は不要
 > A列の中には抽出不要な項目があり、その場合はB列から抽出したいのです。

 なんかあやふやで、当方は逃げ腰モードなんですけども・・

  A列は、「抽出不要の条件」があるのですか? (    VHSなら不要という決め方)
 それとも、「抽出必要の条件」があるのですか? (CDまたはDVDなら必要という決め方)

 そのどっちかだとして、そのメディアの種類は、実際には何件くらいあるんですか?

(半平太) 2018/03/18(日) 09:30


半平太さま

説明不足で至らずすみません、A列は抽出不要の条件があり、多くても10種類くらいかと。
最初のExcel例が間違っていました。
関数を入れた結果がC列ですが、希望する結果はD列です。

   A         B      C        D
1 CD(埼玉県)    中国人  埼玉県     埼玉県    
2 DVD(神奈川県)  日本人  神奈川県■  神奈川県
3 VHS(国外)     米国人  国外■      ■

(汁小屋) 2018/03/18(日) 10:07


 >多くても10種類くらいかと。 

 と言うことは、国籍リストも日・米だけじゃないですね?

 仮にそれらのリストが、それぞれ E2:E3、F2:F4 に書き出してあるものとすると

 C2セル =IF(OR(SUMPRODUCT(COUNTIF(A2,E$2:E$3&"*")),A2=""),IF(COUNTIF(F$2:F$4,B2),"■",""),REPLACE(LEFT(A2,LEN(A2)-1),1,SEARCH("(",A2),))

 <結果図>
  行  _______A_______  ___B___  ____C____  _D_  ___ E ___  __ F___
   1  メディア         国籍     判定            除外条件   必要国籍   
   2  CD(埼玉県)     中国人   埼玉県          VHS        日本人 
   3  DVD(神奈川県)  日本人   神奈川県        Tape       米国人 
   4  VHS(国外)      米国人   ■                         豪州人 
   5  CD(埼玉県)              埼玉県                            
   6                   日本人   ■                                
   7                   中国人                                     

(半平太) 2018/03/18(日) 10:45


半平太さま
ありがとうございます。
除外条件を書き出すことでスッキリできるのですね。
ただ、ご教示いただいた式だと、なぜかA列の都道府県名が抽出されず、
もう少し試してみます。

(汁小屋) 2018/03/18(日) 12:54


 >C列に下記を入力しています。 
 >=IFERROR(REPLACE(LEFT(A1,LEN(A1)-1),1,SEARCH("(",A1),),"")&IF(OR(B1="日本人",B1="米国人"),"■","") 

 不安材料としては、カッコが全角なのか、半角なのか考慮していないと言うのがあるんですが、
 今までは正しく結果を出していたハズなので、そのまま流用しています。

(半平太) 2018/03/18(日) 13:37


半平太さま

お付き合いくださりありがとうございます。
A列のカッコはほぼ全角なのであまり気にしておりませんでした。
そしてコピペでも入れ替えても相変わらず都道府県は反映されない。。。
んー、難しい。
(汁小屋) 2018/03/18(日) 15:17


 具体例を(そのまま)ここに貼り付けてください。 こちらで検証してみます。

(半平太) 2018/03/18(日) 16:00


半平太さま

いただいた関数で都道府県されました!ありがとうございます。
ただ、A列にカッコがないとエラーになりますが、これは最後に ,""でいいのでしょうか。

行 _______A_______ ___B___     ____C____ _D_ ___ E ___ __ F___

   1  メディア         国籍        判定            除外条件   必要国籍   
   2  CD(埼玉県)     中国人   (埼玉県)          VHS        日本人 
   3  DVD(神奈川県)  日本人   (神奈川県)        Tape       米国人 
   4  VHS(国外)      米国人                                豪州人 
   5  CD(埼玉県)              (埼玉県)                                  
   6                   日本人      ■                                
   7                   中国人                                   
  8          中国人/タイ人 #VALUE!     
  9 DVD               #VALUE!
(汁小屋) 2018/03/18(日) 16:51

 >  8      中国人/タイ人 #VALUE!  ←こっちは、初めからそうはならないハズですけど?(空白になる) 
 >  9 DVD           #VALUE!   カッコが無い場合も想定した案は
                              ↓
 C2セル =IF(OR(SUMPRODUCT(COUNTIF(A2,E$2:E$3&"*")),A2="",COUNTIF(A2,"*(*)*")=0),IF(COUNTIF(F$2:F$4,B2),"■",""),REPLACE(LEFT(A2,LEN(A2)-1),1,SEARCH("(",A2),))

 注:「カッコは全角」しか想定しておりません。

 旨く行かない場合は、そっちの具体例を(加工しないで)そのままアップしてください。

(半平太) 2018/03/18(日) 17:05


半平太さま

できました、拙い説明にも関わらず1日かけてご教示くださいまして
ありがとうございました。
水曜から3万行6種を見ないとならないのかと絶望的な気持ちになっていたところ
本当に助かりました。
(汁小屋) 2018/03/18(日) 17:28


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.