IF関数でa,i,u,e,o以外が入力された場合の処理方法とNOT関数の動作について

このQ&Aのポイント
  • E13のセルにa,i,u,e,o以外が入力された場合、AA2:AA28から参照してZ2:Z28を表示する方法を教えてください。
  • NOT関数を使用した場合、なぜa,i,u,e,oを含む全てで参照してしまうのか教えてください。
  • E13=MID(B3,2,1)である場合の方法も教えてください。
回答を見る
  • ベストアンサー

IF関数で出来ないのかな?

E13のセルにa,i,u,e,oが入力されたら、AA2:AA28から参照してZ2:Z28を現す事は以下の式でやっとこさ出来ました。 =IF(E13="a",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13:E13="i",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="u",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="e",(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(E13="o",(LOOKUP(E13,AA2:AA28,Z2:Z28)),""))))) が!!! 今度はその逆でE13のセルにa,i,u,e,o以外が入力されたらAA2:AA28から参照してZ2:Z28を現す事が出来ません!! NOT関数で出来ると思って以下の式を作ったんですけど、 =IF(NOT(E13="a"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="i"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="u"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="e"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),IF(NOT(E13="o"),(LOOKUP(E13,AA2:AA28,Z2:Z28)),""))))) これだと何故かa,i,u,e,oを含め全てで参照して表してしまいます。 また他にも IF(C13="i",IF(C13="u",IF(C13="e",IF(C13="o","",(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))),(LOOKUP(C13,AA2:AA28,Z2:Z28))), (LOOKUP(C13,AA2:AA28,Z2:Z28))) というようにNOT関数を使わずに"真"と"偽"逆にしてみたんですけど 結果はNOT関数と同じでした。 なぜ?分らない・・・。 とりあえずa,i,u,e,o以外が入力されたらAA2:AA28から参照してZ2:Z28を現す方法を教えて下さい。 そして余裕があれば、NOT関数と"真"と"偽"逆にした時に全てで参照して表してしまうのかも教えて欲しいっす!! ちなみにE13=MID(B3,2,1)となっていて、B3にある文字列から一文字抜いた状態です。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

まず最初の式はこの方がシンプルでは? =IF(COUNTIF("aiueo","*"&E13&"*"),LOOKUP(E13,AA2:AA28,Z2:Z28),"") または =IF(OR(E13="a",E13="i",E13="u",E13="e",E13="o"),LOOKUP(E13,AA2:AA28,Z2:Z28),"") 逆の場合は =IF(COUNTIF("aiueo","*"&E13&"*"),"",LOOKUP(E13,AA2:AA28,Z2:Z28)) または =IF(AND(E13<>"a",E13<>"i",E13<>"u",E13<>"e",E13<>"o"),LOOKUP(E13,AA2:AA28,Z2:Z28),"")

RYUONE
質問者

お礼

出来ました!!! しかも最初の方まで短縮できましたし!! ありがとうございます!! サイトのエクセルを説明しているところからなんとかここまでこれたんですけど、すごい難しいんですね。 助かりましたし、さらに勉強にもなりました!

関連するQ&A

  • 下記の式の意味が理解できず関数の式が組めません。

    IF(A10="","",IF(J10=1,0,IF(I10=0,LOOKUP(M10,$U$9:$V$10),IF(I10=1,LOOKUP(M10,$X$9:$Y$10),LOOKUP(M10,$AA$9:$AB$10))))) 上記の関数式の意味が分からず自分で式が組めず困っています。どなたかかなりの初心者ですが教えて頂けませんでしょうか。宜しくお願い致します。

  • IF関数に関して

    a  b  c  d  e  f  g  h  i  j=7 k  l  m  n  o  p  q  r  s  t =6 u  v  w  x  y  z  a1  a2  a3 =5 a4  a5  a6  a7 =4 a8  a9  a10  a11  a12=3 a13  a14  a15 =2 a16  a17  a18  a19 =1 a20  a21  a22  a23  a24 =0.5 a25  a26  a27  a28=0.3 a29  a30  a31  a32 =0.2 この10水準を全て1つの式に入れたいのですが、 なかなか、数が多いとうまくいきません。 例a4だったら4  a30だったら0.2 理論式・選択肢が多いとIF関数は利用出来ないの でしょうか?どうか良案を紹介してください。

  • 逆関数を用いた問題

    次の値を求めよ √i 解答・・・±(1/√2)(1+i) 逆関数を使うようなのですが・・・何がなんだかサッパリです すぐ手前の例題に、 w=z^2の逆関数を求めよ zとwを交換すると z=w^2 z=0のときw^2 = 0より w=0 z≠0のとき、極形式を用いてz=r(e^(iθ)) (r>0)とおくと w^2 = r(e^(iθ)) = {(√r)e^(i*θ/2)}^2 よってw=±√r(e^(i*θ/2)) したがって、w=z^2の逆関数をw=√zで表すと、 |z|=r≧0、argz=θ とおくとき √z=±√r(e^(i*θ/2)) = ±√r(cos(θ/2) + isin(θ/2)) というものがありました ・・・が、結局逆関数を使うと何を求められるのかがわかりません 試しに真似て計算してみたところ、 w=(√i)^2 wとiを交換すると i=w^2 i=u+viとおくと w^2=u+vi=(√(u+vi))^2 w=±√(u+vi) よってw=(√i)^2の逆関数をw=√iで表すと √i=±√(u+vi) となりましたが・・・1/√2などは何処から出てくるのかorz ご教授、お願いします

  • Excel関数を教えてください。

    Excel関数を教えてください。 =IF(AA6="123市",VLOOKUP(AA6,参照シート!$Z$2:$AA$8,2,FALSE),VLOOKUP(AA6,参照シート!$T$2:$U$36,2,FALSE)) ↑このような関数を立てました。 市町村番号(自社のもの)を検索したいと思っています。 『もし、123市なら参照シートの表(2)Z2-AA8の番号を、それ以外の市町村なら参照シートの表(1)T2-U36の番号を返せ』と。 “それ以外の市町村”の表示はうまくいきました。 問題は、123市は大きな市で、その中でまた001~006まで支部として分かれています。 住所の「123市◎◎4-5-6」とあるように、◎◎で支部分けされています。 住所はAB6に入力されています。 これを支部番号まで表示できるような関数が作れませんか?

  • Excel関数について

    Excel関数を教えてください。 =IF(AA6="123市",VLOOKUP(AA6,参照シート!$Z$2:$AA$8,2,FALSE),VLOOKUP(AA6,参照シート!$T$2:$U$36,2,FALSE)) ↑このような関数を立てました。 市町村番号(自社のもの)を検索したいと思っています。 『もし、123市なら参照シートの表(2)Z2-AA8の番号を、それ以外の市町村なら参照シートの表(1)T2-U36の番号を返せ』と。 “それ以外の市町村”の表示はうまくいきました。 問題は、123市は大きな市で、その中でまた001~006まで支部として分かれています。 住所の「123市◎◎4-5-6」とあるように、◎◎で支部分けされています。 住所はAB6に入力されています。 これを支部番号まで表示できるような関数が作れませんか?

  • エクセルの関数で2つの条件に合うものを探す。

    エクセルの関数で下記のことをしたいのです。 表(1) T>=0.6  0.6>T>=0.3  0.3>T>=0.15 U<2   A     B       C 2<=U<3  B     B-C     D 3<=U<4  C      C      D 4<=U<6  D     C-D     D 6<=U    E      D      D 別の表(2)に U   T         1.5  0.3         0.9  0.8             5.9  0.13         ・   ・         ・   ・ とあります。 そのためUの値とTの値で表(1)のAからE値を抽出し別の表にAからEを表示したいのです。エクセルの関数(IF,AND,LOOKUP等)を試してみたのですがうまくいきません。できるだけエクセルの関数のみで、よい方法があれば教えてください。よろしくおねがいします。     

  • Excel関数IFの循環参照について

    お世話になります。 IF関数で、c1のセルに =IF(a1>=90,b1-1,(IF(a1>=80,b1-2,b1-3))) という式を作りました。 b1の値によって、c1は -1 等になりますが、c1の最低値は 0 にしたいのです。 e1 に、この結果を表示し、c1 は e1 を参照すれば可能ですが、外の方法は無いでしょうか?

  • エクセルのIF関数について

    IF(A1-B1-C1-D1-E1-F1>0,A1-B1-C1-D1-E1-F1,0) 上の式は「A1-B1-C1-D1-E1-F1」が0より大きく真の場合その結果を、偽の場合0という式です。その結果の部分に前提となる式を繰り返しで記していて見た目非常に長くなります。別のセルに代入して参照以外の方法で真の場合を短くする手法は無いでしょうか?

  • エクセルでIFとANDを使った関数について教えて下さい

    A B C D E F G 1 1 2 3 結果 2/3 2/4 2/5 2 2/3 2/4 2/5 合格 0 0 1 3 上記のような表を作成しようとしています。条件が、 D1が「合格」で、 C2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じなら「1」、 違うなら「0」、 B2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」なら「1」、違うなら「0」、 A2の日付がE1(該当セル、E1なら2/3、F1なら2/4)と同じで尚且つ、 C2が「空欄」で、B2が「空欄」なら「1」、違うなら「0」 を返しなさい。 という関数を作りたいのですが、上手くいきません。 IFとANDを使えばいいと思うのですが、どのように組み合わせれば 良いでしょうか。 真を返す、優先順位は、C2、B2、A2、のセルです。 C2に日付が入ってるときはB2とA2に日付が入っていても カウントされないように(偽が入るように)したいのです。 ちなみに、最初は、 =IF($D2="合格",IF($C2=E$1,1,IF($B2=E$1,1,IF($A2=E$1,1,0))),0) と、入れてましたが、これだと、C2に日付が入った時にC2だけカウント したいのに、B2もA2もカウントされてしまいます。 どうか、良きアドバイスをお願いします!!

  • IF関数とLOOKUP関数の組み合わせについて

    指定したセルと等しい数値(文字列?)をLOOKUP関数を使って別シートのデータベースを検索させて、そのシートに無ければまた別のシートのデータベースを検索させるものを作りたいのですが上手くいきません。 指定したセルが空白なら空白を返すように次のような感じで作っています。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,LOOKUP(A1,シート2!A1:A15,B1:B15),LOOKUP(A1,シート1!A1:A15,B1:B15))) VLOOKUP関数でもやってみたのですがこちらも上手くいきません。 IF(A1="","",IF(LOOKUP(A1,シート1!A1:A15,A1:A15)<>A1,VLOOKUP(A1,シート2!A1:B15,2,0),VLOOKUP(A1,シート1!A1:B15,2,0))) ご指摘いただければ嬉しいです。

専門家に質問してみよう