• ベストアンサー

Excelの式を教えてください

下記の場合に、A2に入れるべき式を教えてください。 A1に4桁の数字を入力します。 その入力された数字の2番目(百の位)の数字が、 ●9のとき、A2に「OK」と表示させる ●9以外のとき、A2に「EX」と表示させる と言うものです。 =IF(MID(A1,2,1)=9,OK,EX) としたのですが、ダメでした。 宜しくお願い致します。

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

  • ベストアンサー
  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.3

 =IF(MID(A1,2,1)=9,OK,EX) では 9 は数値ですので一致することはありません。 MID関数は文字列に大して実行し、文字列を値として返してきます。 Excel は数値を文字列として関数に渡してくれますが、文字列と数値の比較は自動では処理できません。 では、対処方法。  =IF(MID(A1,2,1)="9",OK,EX) とダブルクォーテーションで 9 を囲って文字列として比較する。  =IF(MID(A1,2,1)*1=9,OK,EX) と数値を示す文字列に1を掛けて数値に変換してから比較する。 などの手法が考えられます。 はじめから数値として計算で百の桁の数値を求める方法もありますが、面倒ですし参考としておきましょう。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 一例です。 =IF(MID(A1,2,1)="9","OK","EX") という具合に「9」をダブルクォーテーションで囲んでみてください。 文字列扱いにすれば大丈夫だと思います。m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.1

絶対に4桁の数字しか入らないヤクソクが出来るなら =IF(MID(A1,2,1)="9","OK","EX") のようになります。 現実には ○A1にはまだ数字が入ってない状態もあり得る ○4桁を記入も守れない場合もあり得る ○小数点以下の数字とかマイナスの数字とか「0923」みたいな数字を文字列で記入したくなるかもしれません といった事まで考えて,数式をたてる場合もあります。 例: =IF(ISNUMBER(A1),IF(MOD(INT(A1/100),10)=9,"OK","EX"),"")

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの数字の表示方法 再質問です

    昨日下記質問をして回答をいただきました A列の各行に、1桁から7桁の数字があります A1に 7桁の数字を入力した場合、B1からH1に各数字を右詰めで表示する方法を教えてください 回答 B1に=IF(LEN($A1)<=7,TRIM(MID(REPT(" ",7-LEN($A1))&$A1,COLUMN(A1),1)),"") を入力、右方向にコピー、B1:H1を選択して下方向にコピー 再質問 任意の列 Z列50行目に、7桁の数字があります (Z,50)に 7桁の数字を入力した場合、B1からH1に各数字を右詰めで表示する方法を教えてください よろしくお願い致します

  • エクセル条件式教えて下さい。

    エクセル条件式教えて下さい。 今A2:E2に数字が入力されています。 A2~E2が全て10以上なら、F2に「OK」としたい。それ以外は空白に判定したい。 IF関数の条件の指定方法が分かりません宜しくお願いします。

  • ExcelのIF式の入力について大いに困っています。

    皆さんお世話になっています。 今回は、以下の事項のIF式についてなにとぞ教えてください。 例題 セルB10に以下の条件のIF式について教えてください。 セルA1に数値(小数点あり下3桁)を入力 セルB10に5以下と10以上は、表示させない。 それ以外の数値を表示させたい場合、どの様なIF式になるか教えてください。 宜しくお願いします。

  • エクセル MID関数

    MID関数で表示した文字列が、数字として認識されません。 MID関数で表示された数字が10とします。セルはA1とします。 その後、IF式で =if(A1<5,10,0) とすると、結果は0になるはずなのに、常に真の値、10になってしまいます。 原因は、MID関数で表示された数字が文字列として認識しているからと考えられますが、対象方法をご存知の方がおりましたら教えてください。 よろしくお願いします。

  • ExcelのIF式についてまたまた困っています。

    いつもお世話になっています。 IF式の組み立てに悩んでいます。 判定に用いる式について「OR」なのか「AND」なのか又別の物なのか分らなく悩んでいます。 以下についてのIF式を教えてください。 1.あるセルに複数のセルの数値が同じ場合に「OK」をそれ以外の時は「NG」を表示させたい場合。 2.あるセルにセル範囲Aが同じ数値の場合「A」、セル範囲Bが同じ数値の場合「B」、その他の場合には「無表示」させたい場合。 3.あるセルに他のセルに入力がない時は、「無表示」入力された場合に計算式結果を「表示」させたい場合 以上3点についてIF式についてなにとぞ教えてください。

  • エクセルのIF式教えて下さい。

    何度やっても上手く思うように行きません。 IF式の組み立て方が悪いのか? AND、ORの使い方が悪いのか? お手上げの状態です。 質問は、2つのパターンです。 助けて下さい。 質問1 セルA1にデータ10と入力 セルA5にデータ5と入力 セルA9に大きい値の10を表示させ、セルA1が空欄の時は、空欄にしたい。 セルA10に小さい値の5を表示させ、セルA5が空欄の時は、空欄にしたい。 質問2 セルB2に1を入力 セルC2に1を入力 セルD2に両方が1以上ならOK、それ以外ならNGと表示させたい。 以上の2つの質問のIF式を教えて下さい。

  • IF条件設定がうまくいきません

    下記関数で日付を表示させています (1)から(3)までは問題なく現在使用していますが 今回の(4)番のところの関数がうまくいきません ご教授いただけますと助かります、よろしくお願い致します 1.AZ4に年月日「20181001」と任意で入力 2.セルBB4は「AZ4」から条件付き月末日を表示 =IF(AZ4="","",VALUE(TEXT(EOMONTH(TEXT(AZ4,"0-00-00"),IF(RIGHT(AZ4,2)-16<0,2,3)),"yyyymmdd"))) 3.セルBA4は下記関数でBB4のデータから月を2桁で抽出表示 =IF(BB4="","",MID(BB4,5,2)) 4.セルAY4に「BA4」で得た2桁の月と現在の当月が一致した場合「●」を表示し条件以外は空白とする =IF(BA4="","",IF(MID(BA4,5,2)),"","",●)  ------ダメです =IF(BA4=0,"",IF((MID(BA4,5,2))=MONTH(TODAY()),"●","")) ------ダメです =IF(BA4=0,"",IF(BA4=MONTH(TODAY()),"●","")) ------ダメです 以上よろしくお願いいたします。

  • ExcelのIF式の入力について大変困っています。

    いつもお世話になっています。 IF式の組み立てに悩んでいます。 判定に用いる式について「OR」なのか「AND」なのか又別の物なのか分らなく悩んでいます。 以下についてのIF式を教えてください。 1.あるセルに複数のセルの数値が同じ場合に「OK」をそれ以外の時は「NG」を表示させたい場合。 2.あるセルにセル範囲Aが同じ数値の場合「A」、セル範囲Bが同じ数値の場合「B」、その他の場合には「無表示」させたい場合。 3.あるセルに他のセルに入力がない時は、「無表示」入力された場合に計算式結果を「表示」させたい場合 以上3点についてIF式についてなにとぞ教えてください。

  • エクセル関数を教えてください

    以前こちらで回答を頂き、活用させていただいてます。 今回の質問についてもおねがいします。  ※今回の質問 セル内の4桁の数字(1から0までの数字を使用した4桁;例えば1249)を、別のセル内に、関数(1234567890をそれぞれ2458761390へ変換する関数)で変換された4桁(例えば2489)で表示したいのですがその際に使用する関数を教えてください。参考に前回の質問と回答を参照します。 よろしくお願いします。 ※前回の質問 セル内の3桁の数字(1から8までの数字を使用した3桁;例えば124)を、別のセル内に、関数(12345678をそれぞれ24587613へ変換する関数)で変換された3桁(例えば248)で表示したいのですが、その際に使用する関数を教えてください。エクセル上に表示する数字は1から8までのうちの3桁で、12345678をそれぞれ24587613へ変換したいです。 ※回答 =SUM(FIND(MID(A1,{1,2,3},1),71823654)*10^{2,1,0}) =SUM(MID("24587613",MID(A1,{1,2,3},1)*1,1)*10^{2,1,0})

  • 特定期間の計算についてご教授ください

    A1セルに入れた8桁の数字(日付YYYYMMDD)の文字列が入力されていて 右から1.2桁の数字DDが1から15(1日から15日)の場合MM(当月)の2ヶ月先の末日を求め 右から1.2桁の数字DDが16から31(16日から月末)の場合MM(当月)の3ヶ月先の末日を求める A1セル「20140204」を入力 B1セル =IF(MID(A1,7,2)<=15,EOMONTH(A1,2),EOMONTH(A1,3)) B2セル =IF(MID(A1,7,2)<=15,EOMONTH((MID(A1,5,2),2),EOMONTH((MID(A1,5,2),3)) B3セル =IF(MID(A1,7,2)<=15,EOMONTH(DATE(INT(A1/10000),MOD(INT(A1/100),100),MOD(A1,100)),2),EOMONTH(DATE(INT(A1/10000),MOD(INT(A1/100),100),MOD(A1,100)),3)) B1、B2、B3のような式で試してみましたが どうしても最後EOMONTHのところがうまくできません どなたかご教授くださいますようよろしくお願いいたします

専門家に質問してみよう