- 締切済み
EXCELで2つ条件で1つが部分一致のとき
Excelの2003バージョンです。 現在使用しているファイル名「会社」シート名「支社」のセルE12に 同じシート上のD12(同じ行ですね)と ファイル名「埼玉」シート名「データ」のA列の中の値と一致(完全一致)して なおかつ、シート名「支社」のF3の値(例・後1、後2)とシート名「データ」の C列の値(例・後1 第23号)と部分一致をした時に 使用中シート「支社」のE12に●、していない時は空白にしたいのです。 ファイル「会社」シート名「支社」 行数 --A列----B列----C列-----D列----E列----F列---- 1 11223344 (ここに関数) 後1 ファイル「埼玉」シート名「データ」 行数 --A列----B列----C列-----D列----E列----F列---- 10 11223344 後1 第23号 11 11223344 一般会社 第44号 のような場合はE1に●になるようにしたいのです。 それ以外は空白で。 あまり詳しくないので、よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- MackyNo1
- ベストアンサー率53% (1521/2850)
>F列を検査値にして、F3とE列、F4F列という風に組み合わせています。 よって、「看補」のときはE列に●、「急性期看補」のときはF列に●としたいのです。 どのようなレイアウトなのかわからないのですが、この部分は特に問題はないのですね。 >「"("&F3&")"」と入力してみましたが、うまくいきません。どんな原因が考えられ ますか? カッコが全角で入力されていると同じデータと認識しないので、その場合は半角カッコに統一した以下のような数式にしてください。 =IF(SUMPRODUCT((D12=[埼玉.xls]データ!$A$1:$A$20)*ISNUMBER(FIND("("&F3&")",ASC([埼玉.xls]データ!C$1:C$20)))),"●","")
- MackyNo1
- ベストアンサー率53% (1521/2850)
補足回答を見ましたが意味が良くわからないところがあります。 >1 11223344 (看補)の時は● (急性看補)の時● 看補 「(急性看補)の時●」の意味は何ですか? >「急性看補」でもシート「支社」のE列に●が入力されてしまいます。 このケースは検索値に「看補」が含まれるので補足回答のような状況になります。 >10 11223344 (看配)第22号 >11 11223344 (急性看補)第44号 >12 11223344 (血)第55号 >13 11223344 (輸血1)第66号 ファイル「埼玉」の方のデータが「(看配)第22号」のようにカッコつきのデータになっているなら(そうでない場合は「血」と「輸血」も区別できません)数式の「F3」の部分を「"("&F3&")"」に変更して、カッコつきの文字列で検索するようにしてください。
補足
実はかなり大きな表になっていて、関数が入っているのはE列だけでなく、100列くらいあります。 F列を検査値にして、F3とE列、F4F列という風に組み合わせています。 よって、「看補」のときはE列に●、「急性期看補」のときはF列に●としたいのです。 わかりにくくて、すいません。 「"("&F3&")"」と入力してみましたが、うまくいきません。どんな原因が考えられ ますか?
- MackyNo1
- ベストアンサー率53% (1521/2850)
>あと1つすいませんが、D12→D13→D14と下にさがっていくに したがってF3はF4F5となっていくのですが、(同じ行ではありません) この場合は$F$3の部分を相対参照のF3にした数式にすれば良いだけです。 >似たような検査値(例えば、一般法人と公益法人、法人などを わけて検査したいのですが、どうしたらいいでしょうか? よく意味が良くわからないのですが、例えば対象セルに「法人」が含まれていると、法人で検索するとすべての法人が含まれている単語がヒットしますので上記の3つは区別できません(もう少し複雑な数式での対応などが必要になります)。 このような特殊なケースでは、一般論ではなく、実際にセルに入力されているデータ(及びデータの入力パターン)と検索したい用語の種類を具体的に提示されたほうが的確な回答が得られると思います。
補足
わかりにくくてすいません。 具体的には、 ファイル「会社」シート名「支社」 行数 ---D列-----E列--------F列------G列(検査値) 1 11223344 (看補)の時は● (急性看補)の時● 看補 2 急性看補 3 血 4 輸血1 5 輸血2 ファイル「埼玉」シート名「データ」 行数 --A列----B列----C列-----D列--------E列----F列---- 10 11223344 (看配)第22号 11 11223344 (急性看補)第44号 12 11223344 (血)第55号 13 11223344 (輸血1)第66号 などになっています。 「急性看補」でもシート「支社」のE列に●が入力されてしまいます。 これを解消したいのです。よろしくお願いします。
- MackyNo1
- ベストアンサー率53% (1521/2850)
D12やE12セルの位置での数式をお尋ねですが、「F3」セルの値を固定して検索してよいのでしょうか? 質問内容をそのまま数式にすると以下のような数式になります(2つのブックを開いて数式を作成してください)。 =IF(SUMPRODUCT((D12=[埼玉.xls]データ!$A$1:$A$20)*ISNUMBER(FIND($F$3,[埼玉.xls]データ!C$1:C$20))),"●","") F3セルではなくF12セルならその部分をF12に変更してください。 F列が未入力の時に●を表示したくないならIF関数でさらに分岐してください。 =IF(F12="","",元の式)
お礼
ありがとうございました。 出来そうな感じになってきました。 あと1つすいませんが、D12→D13→D14と下にさがっていくに したがってF3はF4F5となっていくのですが、(同じ行ではありません) 似たような検査値(例えば、一般法人と公益法人、法人などを わけて検査したいのですが、どうしたらいいでしょうか?
お礼
ありがとうございました。 助かりました。 またよろしくお願いします。