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

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

dogs_catsの回答

  • ベストアンサー
  • dogs_cats
  • ベストアンサー率38% (278/717)
回答No.2

serch関数を使用するとエラー処理が必要になるので、今回ではcountif関数をワイルドカードでJPYを含んでいるか、right、left関数でUSDであるかを判断する事で対応可能だと思います。 $B7とJ列が数値であるかの判定はcount関数で可能です。 (画像はB7、I列にダミーデータとして1を入力しています) 添付画像の結果で良ければ下記数式 I5式 =IF(COUNT($B$7,J5)<>2,"",IF(COUNTIF(D5,"*JPY*"),"USDJPY",IF(RIGHT(D5,3)="USD","不要",IF(LEFT(D5,3)="USD",D5,VLOOKUP("*" & RIGHT($D5,3) & "*",A$15:A$21,1,FALSE))))) 下方へオートフィル

miya_HN
質問者

お礼

回答ありがとうございます。 単に数値であるかの判定はCOUNT関数で済むんですね。 勉強になります。 また、全体の式が非常にコンパクトになりました。 ありがとうございました。

関連する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")) この式ではエラーになってしまい、どうにも作業が進みません。どなたか教えていただけませんでしょうか?