エクセル2013 基準値内数値の合否判定について

このQ&Aのポイント
  • エクセル2013で、血液検査項目の基準値内の数値について、合否判定の方法を教えてください。
  • 基準値以下の数値は「L」、基準値以上の数値は「H」として表示する方法を知りたいです。
  • 例えば、検査項目がA5セル、基準値がB5セルに100~350と範囲表示されている場合、測定値をC5セルに入力し、D5セルに合否判定を表示したいです。
回答を見る
  • ベストアンサー

エクセル2013 基準値内数値の合否判定について

先日質問した者ですが、血液検査項目の基準値に対し、測定値がその範囲であれば 良として何も表示しない、基準値以下の場合は「L」、以上の場合は「H」として判定セルに表示する方法を知りたく質問を致しましたが。 下記の回答を頂き、設定した処、基準値以上と判定する「H」と、範囲内の空白は 表示出来たのですが、基準値以下の「L」の表示が出ませんでした。 この場合、どの様にすれば表示をする事が出来るのか?ご教示お願い致します。 尚、例として、検査項目は A5セル、基準値はB5に100~350と範囲表示、 測定値はC5に220等と表示(この数値は単一)、 判定はD5に、空白、H、L等で表示する事とします。 その際頂いたD5セルに入力する式は、次の通りでした。 =IF(C5>RIGHT(B5,LEN(B5)-FIND("~",B5))*1,"H",IF(C5<LEFT(B5,FIND("~",B5)-1)*1,"L","")) 上記数式より、基準値以下の測定値をC5セルに入力した場合、D5セルに「L」 の表記が出ませんでした、どの部分が間違っているか?判りません、どうかご教示 お願い致します。

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

  • ベストアンサー
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.3

>先日質問した者ですが、 先日の質問とは https://okwave.jp/qa/q9356439.html でしょうか? >その際頂いたD5セルに入力する式は、次の通りでした。 その数式の出何処は私です。 Excel 2013で検証した結果を提示しましたので数式に誤りはありません。 尚、その時の回答には『数値を扱う比較の場合は「以下」と「以上」は指定の値を含み、「未満」と「超過」は指定の値を含みません。』と言う注意書きをしました。 >基準値以下の測定値をC5セルに入力した場合、 実際に入力した値を提示してください。 基準値が100~350のとき基準値以下とは~100と言うことで100を含みます。 基準値未満の場合は100を含みませんので私が提示した数式で良いことになります。 「基準値以下」と「基準値未満」では論理式が異なります。 C5セルに100と入力したときに"L"が代入されるのであれば論理式を修正する必要があります。 C5<LEFT(B5,FIND("~",B5)-1)*1     ↓ C5<=LEFT(B5,FIND("~",B5)-1)*1 "H"と判定する論理式は訂正の必要が無いのですか? 「基準値以上」と「基準値超過」では論理式が異なります。

kawanote9441
質問者

お礼

お礼が遅くなり申し訳ございません。 関数の理解度が低く、論理式に対する認識が出来ていませんでした。 ご指摘の通り、「以上」と「以下」、「超過」と「未満」のについて ご指摘されていた内容を理解していなかったと思います。 再度の質問に対し、ご理解あるご回答を頂き、本当にありがとうございます 今後、この様な問題に対し、活用し理解を深めて行きたいと思います。

その他の回答 (2)

  • chie65535
  • ベストアンサー率43% (8522/19371)
回答No.2

貴方が提示した式 =IF(C5>RIGHT(B5,LEN(B5)-FIND("~",B5))*1,"H",IF(C5<LEFT(B5,FIND("~",B5)-1)*1,"L","")) は「基準値『未満』であればLを、基準値を『超過』していればHを表示する式」です。 >基準値以下の「L」の表示が出ませんでした。 「基準値以下」では表示しません。「基準値未満」なら「L」の表示が出ます。 「以下」ではなく「未満」なので、注意して下さい。同じく「以上」ではなく「超過」なので注意して下さい。 例えば、基準値が「100~350」であれば 0から99→Lと表示 100→表示なし 101から349→表示なし 350→表示なし 351から???→Hと表示 となります。 「基準値以下ならLと表示」と思って、基準値の下限の「100」を入力しても「表示なし」になります。「L」とは表示しません。 同じく「基準値以上ならHと表示」と思って、基準値の上限の「350」を入力しても「表示なし」になります。「H」とは表示しません。 下限の100の時にLと出したい、上限の350の時にHと表示したいなら、つまり「正常値が101から349」であるなら、式を =IF(C5>=RIGHT(B5,LEN(B5)-FIND("~",B5))*1,"H",IF(C5<=LEFT(B5,FIND("~",B5)-1)*1,"L","")) とした上で、基準値に「100~350」と入力して下さい。 そうすれば 0から99→Lと表示 100→Lと表示 101から349→表示なし 350→Hと表示 351から???→Hと表示 となります。 式が =IF(C5>RIGHT(B5,LEN(B5)-FIND("~",B5))*1,"H",IF(C5<LEFT(B5,FIND("~",B5)-1)*1,"L","")) のままであれば、基準値には「101~349」と入力して下さい。 Lの表示を「未満の時に表示するべき」なのか「以下の時に表示すべき」なのか、カルテ等の表示規則をきちんと把握して下さい。Hの表示についても「超過」なのか「以上」なのか、きちんと把握して下さい。 「100ぴったりの時」と「350ぴったりの時」に「どうすべきか?」をきちんと整理して下さい。 コンピューターは「未満と以下の違い」「超過と以上の違い」に対して、厳密に動作します。曖昧なのは許されません。

kawanote9441
質問者

お礼

ご回答頂きありがとうございます。 ご指摘の通り、”「未満と以下の違い」「超過と以上の違い」に対して、 厳密に動作します。曖昧なのは許されません。” その点が理解出来ていませんでした。 最初にご指摘の 0から99→Lと表示 100→表示なし 101から349→表示なし 350→表示なし 351から???→Hと表示 と言う事を行いたかったもので、論理式に対する未熟な部分が有りました 今後ご教示の内容を、熟知し参考にしたいと思います。 本当にありがとうございました。

回答No.1

  その式で正しくH、空白、Lが表示されますよ まさか、ですが.... 測定値が100の場合に(L)が表示されないと不満を言われてるのでは???  

kawanote9441
質問者

お礼

ご回答ありがとうございます。 ご指摘の通り、基準値の数値に対する理解が間違っていた様です。 100未満=L 100→350=無表示 350超過=H として行う事の理解不足でした。 当初、ご指摘の「まさか、ですが・・」と思っていました。

関連するQ&A

  • エクセル2013 基準値内数値の合否判定

    Excel 2013 を使用し、血液検査項目毎の基準値に対し、測定値がその範囲であれば 「 」表示しない、以下の場合は「L」、以上の場合は「H」と判定しセルに表示する方法を教えて下さい。例えば A5セルに検査項目、B5に基準値(3.7~4.9)、C5に測定値 5.5 の場合、D5に H と表示する。

  • Excel 2013 判定表示について

    Excel 2013 を使用しています。 基準値に対し測定した値を判定する、表を作成しましたが、測定値が記入していない場合の、書式(関数)が判りません、宜しくお願い致します。 A5 基準値 B5 測定値 C5 判定  A6 (2~7) B6  7 C6  良  A7 (2~7) B7  8   C7  否 A8 (2~7) B8  1   C8  否 上記判定欄(C列)には、次の式を入力しています。 =IF(B6>RIGHT($A6,LEN($A6)-FIND("~",$A6))*1,"良", IF(B6<LEFT($A6,FIND("~",$A6)-1)*1,"否")) と設定しています。 この状態で、測定値が無い場合(ーー) A5 基準値 B5 測定値 C5 判定 A9 (2~7) B9 ーー  C9 非表示空白(文字無し)  と判定欄に表示したいのですが、その方法を教えて下さい。

  • エクセル 測定値の判定表示

    Excel 2019を使っています。 A列に測定項目、B列測定値、C列基準値(2.0~6.0)等 D列 判定結果 「良」「否」 と言ったリストを作成する場合、D列の結果をセルに表示するのですが、どの様に設定すれば良いか、教えて下さい。 尚、基準値は単一値(小数点含む)の場合や、範囲指定値(1.0~3.0)の場合、~以上、~以下等が有ります。 又、その表示はそれぞれ1セルに表示させたいのです。 宜しくご教示の程、お願い致します。

  • Excelマクロ 入力の有無を判定するマクロを組みたい

    はじめまして。 マクロの初心者です。 エクセルマクロを利用して、セルに何か入力(文字でも数値でも)がある場合の判定をしたいのですが、うまくいきません。 具体的には、 ・(A1セルが空白で)B1からC10セル(10個のセル)のいずれかのセルに何か入力された場合 → D1セルに"○"を出力。 ・(A1セルが空白で)B1からC10セル(10個のセル)のいずれかのセルに何も入力がない場合 → D1セルは"(空白)"。 ・但し、大前提として、A1セルに"×"が入力されている場合 → D1セルに"×"を出力。 (B1からC10セル(10個のセル)のいずれかのセルに何か入力されている場合でも、A1セルが"×"ならばD1セルは"×"とする) としたうえで、同様の判定を ・A11セルおよびB11からC20を判定しD11セルに結果を出力、 ・A21セルおよびB21からC30を判定しD21セルに結果を出力、 … と繰り返して、A100セルまで実行させたいと考えています。 (D1、D11、D21、D31、D41、D51、D61、D71、D81、D91の10個のセルに"○"、"×"、"(空白)"の結果を出力したいです) 過去の投稿や解説書などを参照にしているのですが、なにぶん本当に初心者のためうまくいきません、、、 どなたかお力添えをお願いします。

  • Excelで同数値の数を数える

    次のような数値があるとします。  A   B   C   D  201   1   205   2           201   2   205   1   203   1  行A、Cには201、202などの値がランダムに 表示されています。(関数で表示された値です) 行Bには、例えばB1にはA1:A3の範囲中にA1セルで表示されて いる値と同じ値がいくつあるかをカウントしてあるのですが、 このカウントに関数を使いたいのです。 行Dには、A1:C3の範囲で同じようにカウントした結果を表示 させたいと思います。 同じ行に同じ値が表示されていることはありません。 AとCのセルが空白の場合はBとDも空白にしたいため、 IF(A1="","",COUNTIF($A$1:$A$3,A1)) と入力してみたのですが、空白セルに関数があるせいか、 空白セルまでカウントされてしまいます。 行Aの関数を消すとうまくいくのですが、 消さずに、空白セルをカウントしない ようにする方法はあるでしょうか。 お返事お待ちしています。  

  • EXCEL2003で判定式について教えてください。

    仮にA1に12.9、B1に12、C1に11.4、D1に12.5とあるとして F1にはA1-B1の値を、G1にはB1-C1の値、H1にはC1-D1の値を それぞれ10倍して(小数点以下を無くし見易くする為に) 表示するものとします。 その後F1~H1の3つの値(+9、+6、-11)に対し、+5以上が 一つでもあるならなら「A」、+1~+4のみは「B」、 +の値が一つもなく0以下なら「C」と判定させたいのです。 そこで当初J1で =IF(F1:H1>=5,"A",IF(F1:H1<=0,"C","B")) としたところ複数のセルに対してはできないようなので 一旦J1でMAXを使い(+5以上か)を判定し、L1に =IF(J1>=5,"A",IF(J1<=0,"C","B")) と二つのセル、二つの式で結果的には出来たのですが、 なんとかすっきりと一つの関数式で判定させることは 出来ないでしょうか?

  • エクセルの数値判定について

    エクセルの数値判定について教えてください。 パーセンテージ判定なのですが、ある計算をして E1 -1.89% E2 0.21% E3 -1.81% E4 1.15% E5 0.94% 以下続く とあるとします。 そこでE列のパーセンテージの値に対して振り分けを行いたいのです。 それは1.00%以上ならA,0.10%~0.99%ならB、0.09%から0まではC1、 0から-0.09%まではC2、-0.10%~-0.99%まではD、-1.00%以下ならE とF列に表示したいのですがその方法がわかりません。 よろしくご教授くださいませ

  • エクセルで条件によって判定させる方法

    みなさん、お忙しいことと思いますが、教えて下さい。 現在エクセルで判定シートを作っています。 条件の例として、 セルA1が0~5でB1が0~10の場合、Aとします。 セルA1が6~10でB1が11~20の場合、Bとします。 セルA1が11~15でB1が21~30の場合、Cとします。 それ以外の場合には、Dと判定するようにしたいのです。 そこで、以下のようにしてみました。 IF(AND(0<A1<5,0<B1<10),"A" ,IF(AND(6<A1<10,11<B1<20),"B" ,IF(AND(11<A1<15,21<B1<30),"C","D"))))) これが上手く機能しないので、教えていただけますか? 何卒、宜しくお願いします。

  • 判定のためのエクセルの数式について質問します。

    3点満点のテスト(面接で接客でも)が4種類あります(12点満点)。以下エクセル表    テスト1 テスト2 テスト3 テスト4  合計 判定 A君  3    3     3     2    12  A (11点以上をA)   B君  2    3     2     2     9  B (10点~6点をB) C君  1    1     2     2     6  B D君  1    2     1     1     5  C (5点以下をC) 問題は次のE君の場合です。合計は6点なので、点数だけだと判定は「B」ですが、「1」が3つあるので判定を「C」となるようにしたいのですが、どうしてもうまい数式が作れません。 E君  1    3     1     1     6  C← 以下の式だとBになります。 =IF(セル>=11,"A",IF(セル<6,"C","B")) ではだめで、これから先が進みません。全く別の式がよいのでしょうか。教えてください。よろしくお願いします。

  • 関数によって空白したのを数値「0」に置き換える

    A.............B...............C 1 ZZ............6..............× 2 AA........... 1 3 BB 4 CC............3 B列にはそれぞれ関数が入っています。 セルB1には、B2、B3、B4の数値の合計です。 C1のセルには、C1数値とB2、B3、B4の数値の合計が一致しているか否かの判定する関数が 入っており、一致していなければ、"×"が表示させるようにしています。 しかし、ここで問題が起きました。 「VALUE」というエラーが表示されました。 上記の表では、セルB3は、空白になっております。 本来は、セルが空白になっている場合は、「0」が格納されていると思うのですが、 ここには、関数によって、文字列?の「空白」に置き換えられています。 例えば = IF((Z5) ,5, "") ようにです。 多分、関数によって文字列として認識される空白("")を置いたためと思います。 関数によって置き換えた空白("")を数値「0」として認識できる関数を教えてください。 いろいろな方法があると思いますが、「関数」のみで教えてください。 C1には、以下の関数が入っています。 =IF((B1) = (B2+B3+B4) ,"○","×")

専門家に質問してみよう