• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:セルの範囲内から部分一致する文字を表示する関数)

Excel2016の関数式でD行の条件に合わせた表示方法を教えてください

kagakusukiの回答

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.1

 条件に不明な点が幾つもあります。  1~4のどれにも該当しない場合や、逆に複数の条件を同時に満たしている場合にはどの様な表示にすれば宜しいのでしょうか? ・例えばD列の値が「JPYUSD」となっていた場合には、1の条件と2の条件の両方を同時に満たしている事になりますが、1と2という2つの条件のどちらを優先させれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が2文字目に含まれている場合で、尚且つ「JPY」の文字が含まれていない場合(例えば「AUSD」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が3文字目に含まれている場合で、尚且つ「JPY」の文字が含まれていない場合(例えば「ABUSD」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が1文字目と4文字目の両方に含まれている場合で、尚且つ「JPY」の文字が含まれていない場合(例えば「USDUSD」)には、2の条件と3の条件の両方を同時に満たしている事になりますが、2と3という2つの条件のどちらを優先させれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が2文字目と4文字目以降の両方に含まれている場合で、尚且つ「JPY」の文字が含まれていない場合(例えば「AUSDBUSD」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が3文字目と4文字目以降の両方に含まれている場合で、尚且つ「JPY」の文字が含まれていない場合(例えば「ABUSDUSD」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が2文字目に含まれている場合で、尚且つ「JPY」の文字が含まれている場合(例えば「AUSDJPY」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が3文字目に含まれている場合で、尚且つ「JPY」の文字が含まれている場合(例えば「ABUSDJPY」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が1文字目と4文字目の両方に含まれている場合で、尚且つ「JPY」の文字が含まれている場合(例えば「USDUSDJPY」)には、1の条件と2の条件と3の条件の3つを同時に満たしている事になりますが、1と2と3という3つの条件の内のどれを優先させれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が2文字目と4文字目以降の両方に含まれている場合で、尚且つ「JPY」の文字が含まれている場合(例えば「AUSDJPYUSD」)にはどうすれば宜しいのでしょうか? ・D列の値の中に「USD」の文字が3文字目と4文字目以降の両方に含まれている場合で、尚且つ「JPY」の文字が含まれている場合(例えば「ABUSDJPYUSD」)にはどうすれば宜しいのでしょうか?  後、御質問文にある質問者様が考えた関数は必要も無いのにNOT関数を使っているといった点を始めとして無駄が多過ぎます。  もし、1の条件が他の全ての条件に優先していて、尚且つ「USD」の文字が2文字目~3文字目の範囲内に現れる事は無く、「USD」の文字が複数含まれている事も無いという条件が常に満たされている事が保障されている場合には、I5セルに次の様な関数を入力してから、I5セルをコピーしてI6~I32のセル範囲に貼り付けると良いと思います。 =IF(OR(COUNT($B$7,$J5)<2,$D5=""),"",IF(ISNUMBER(FIND("JPY",$D5)),"USDJPY",CHOOSE(MATCH(IFERROR(FIND("USD",$D5),0),{0,1,4}),IF(LEN($D5)<3,"(該当無し)",IFERROR(VLOOKUP("*"&RIGHT($D5,3)&"*",$A$15:$A$21,1,FALSE),"(該当無し)")),$D5,"不要")))

miya_HN
質問者

お礼

回答ありがとうございます。 >条件に不明な点が幾つもあります。  1~4のどれにも該当しない場合や、逆に複数の条件を同時に満たしている場合にはどの様な表示にすれば宜しいのでしょうか? そこまで考えていただき、ありがとうございます。 1~4以外や複数の条件を満たすということはありません。 >後、御質問文にある質問者様が考えた関数は必要も無いのにNOT関数を使っているといった点を始めとして無駄が多過ぎます。 関数をコンパクトにしていただき、ありがとうございます。 ありがとうございました。

関連するQ&A

  • ISERROR関数を使用してもエラーが出る

    Excel2016でセルにUSDまたは、JPYの文字がある場合はエラーが出ないのですが、それ以外の文字の場合ISERROR関数を使用しても#VALUE!というエラーが出ます。 関数は以下の通りです。 =IF(OR(NOT(ISNUMBER($G5)),NOT(ISNUMBER($K5))),"",IF($B$5<ROUNDDOWN($I5*IF(NOT(ISERROR(SEARCH("JPY",$D5,1))),100,VLOOKUP(CONCATENATE(MID($D5,IF(OR(SEARCH("USD",$D5,1)=4,ISERROR(SEARCH("USD",$D5,1))),1,4),3),"JPY"),$A$12:$B$18,2,FALSE))*$G5*$B$8/IF($B$8=100000,10000,IF($B$8=10000,1000,IF($B$8=1000,100,))),0),"超過",ROUNDDOWN(IF(ISNUMBER($P5),-$P5,-$I5)*IF(NOT(ISERROR(SEARCH("JPY",$D5,1))),100,VLOOKUP(CONCATENATE(MID($D5,IF(OR(SEARCH("USD",$D5,1)=4,ISERROR(SEARCH("USD",$D5,1))),1,4),3),"JPY"),$A$12:$B$18,2,FALSE))*$G5*$B$8/IF($B$8=100000,10000,IF($B$8=10000,1000,IF($B$8=1000,100,))),0))) エラーが出ているのは以下の「【】」の部分のようです。 =IF(OR(NOT(ISNUMBER($G5)),NOT(ISNUMBER($K5))),"",IF($B$5<ROUNDDOWN($I5*IF(【NOT(ISERROR(SEARCH("JPY",$D5,1)))】~ 数値を表示したいのですが解決方法を教えてください。 回答よろしくお願いします。

  • 検索するセルの範囲内から文字を表示する方法

    Excel2016で、検索する文字の一部が一致する場合、検索するセルの範囲内から文字を表示する関数を教えてください。 例えば次のような文字列があるとします。 A1:EURUSD A2:GBPUSD A3:AUDUSD A4:USDCHF A5:USDCAD A6:NZDUSD B1:EURGBP B2:EURAUD B3:EURCHF B4:EURCAD そこで、A1からA6の範囲からB行の右側の3文字に当てはまる文字列をC行に表示させたいのですがどうすればよいでしょうか? 例えば、B1の「EURGBP」の右側の3文字は「GBP」のため、A1からA6の範囲でA2が当てはまるため、C1は「GBPUSD」となります。 B4は「EURCAD」で右側の3文字は「CAD」のため、A1からA6の範囲でA5が当てはまるため、C4は「USDCAD」となります。 回答よろしくお願いします。

  • セル内の文章から文字を抜出したいです

    セル内の文章から文字を抜出したいです。 文字の書き方は、本当にランダムな並び方をしています。 [例] A1セル あいうえお12345 ↓ B1セル ○○ A2セル かきくけこ456789 ↓ B2セル ■■ いま、下の関数式を入れていますが、5つしか文字を抜き出せません。 せめて倍の10個は抜出したいのですが、どうすればいいでしょうか? =IF(ISNUMBER(FIND("あいうえお",A2)),"OO",IF(ISNUMBER(FIND("さしすせそ",A2)),"■■",IF(ISNUMBER(FIND("かきくけこ",A2)),"□□",IF(ISNUMBER(FIND("たちつてと",A2)),"◇◇",IF(ISNUMBER(FIND("なにぬねの",A2)),"△△","その他"))))) よろしくお願いいたします。

  • excel IF関数 表示形式

    エクセルのについてです。 例えば、A1セルがUSDやJPYなど通貨を入れるセルとします。 もしA1セルにUSDを入力すれば、隣のB1セルに入力された数字の表示形式は12.50と小数点第二位まで表示。もしA1セルにJPYを入力すれば、隣のB1セルに入力された数字の表示形式は1,000など第一位まで表示。 IF関数でもなんでもいいのですが、このような設定は可能でしょうか・・? どうぞよろしくお願いいたします。

  • 米ドルを含む通貨ペアから日本円への換算について

    通貨ペアGBPUSDを日本円に換算すると、  1GBP = 1.37173USD、1USD = 103.70950JPYの時  GBPJPYは、1.37173USD * 103.70950JPY = 142.28850JPY と計算できますが、 通貨ペアUSDCADを日本円に換算する場合 どの様に計算すれば良いのでしょうか? (1USD = 1.26893CAD、1USD = 103.70950JPYとした場合) よろしくお願いします。

  • 範囲内である文字列が含まれていたら,違うセルに表示させる

    A4:A10という範囲(同じ行)の中に,ある文字列が含まれていたら,違うセルに○と表示する,それ以外は空欄という式をつくるにはどうしたら良いでしょうか。 文字列は同じ行の中で同じ文字が1回以上登場することはありません。 A B C あ い う か き く・・・ D E F い え お き く こ・・・ G H I う お い こ け き・・・ 1行目の文字列(あいうかきく)の行の中に「あ」が含まれていたらAセルにアと表示し, 3行目文字列(うおいこけき)に「う」があったらIにウと表示する。それ以外は空欄。 アルファベットのセルには色をつけたりといった書式条件ではなく特定の文字列を表示させたいです。 「IF(B42="あ","ア",""」の場合,B42のセルの中身が「あ」だったらアと表示する,それ以外は空欄。という意味になりますでしょうか? これで,B42セルだけではなくB42:B50という範囲の中に「あ」という文字列があったら…と思いましてご相談です。宜しくお願いします。

  • Excelで他のセルを参照して表示形式を変えるには?

    Excelで他のセルを参照して表示形式を変えるにはどうしたらいいのでしょうか? 具体的には以下のようなことです。 為替レートを表示するようにしたいのです A列には通貨ペアが入ります A1=USD/JPY A2=GBP/JPY A3=GBP/USD ・・・・と言った感じです このとき B1=115.90 B2=218.32 B3=1.8919 という具合にB1とB2は少数以下2桁、B3は少数以下4桁の表示になるようにしたいのですが、どのようにすればいいのでしょうか? IF関数などを使おうとしたのですが、うまくいきませんでした。 よろしくお願いします。

  • エクセル関数での表示色設定方法

    エクセルにて、下記関数で範囲内のMAX・MIN値の数値色を変更したいのですが、どの様な関数式になりますか?(関数に追加出来ますか)。 (1)=IF(D5=""," ",MAX(D5:D35)) →D5:D35内の数字を赤文字の太文字に。 (2)=IF(D5=""," ",MIN(D5:D35)) →D5:D35内の数字を薄い青文字の太文字に。 ※各、NAX・MIN値は範囲内で複数個になりますが問題ありません。

  • IF関数を一定のセル範囲を参照し、答えを表示するには?

     IF関数初心者ですが、最近、少しづっではありますが、理解できるレベルになって来ました。  そこで疑問なのですが、下記のような表があり、    A    B    C    D 1  80          答え 2   60 3  120 4   90 5   60  A1からA5といった特定のセル範囲でD1セルに式入力、答えを返し表示するにはどうすればよいのでしょうか?  A1からA5各セルの数値が80以上は合格、以下なら不合格とD1セルに表示したいのです。  単一のセルに対してはIF(A1>=80,"合格","不合格")ですが、検索範囲を一括(A1:A5)になる場合の式表記の仕方が分かりません。  簡単なことが分からず、レベルが低いですが、どなたか教えていただけませんか?

  • 【excel】複数のセルを対象に特定の文字列

    EXCELでセルB24:D31に一つでも文字列Aが入っている場合 あるセルに文字列2を表示させて偽の場合文字列3を表示させたいのですが =IF(B24:D31="","",IF(SUM(COUNTIF(B24:D31,{"*文字列A*","*文字列A*"})),"文字列2","文字列3")) この式ではエラーになってしまい、どうにも作業が進みません。どなたか教えていただけませんでしょうか?