IF関数の応用?自動表示される数式を教えてください。
画像を見ていただくと、レベルが4段階あります。
%の部分は数字を手入力します。(0%~100%)
求めたいのは黄色のセルの部分で、
「レベル〇」と自動的に表示させたいです。
【レベルの条件】
レベル1のみ%が入力されている場合はレベル1。
レベル1が100%、かつ、レベル2が70%以上の場合はレベル2。
ただし、レベル1が80%でレベル2が70%以上でもレベル1です。
つまりレベル1が100%で、さらにレベル2が70%以上の場合のみ、
レベル2になります。
なのでレベル3の条件は、レベル1と2が100%、かつ、レベル3が70%以上、
レベル4の条件はレベル1と2と3が100%、かつ、レベル4が70%以上となります。
上記のような条件の中で、%枠を手入力していくと、
黄色のセルにレベルが自動的に表示されるようにしたいです。
IF関数とAND関数を混ぜて色々やってみましたが、
レベル3以上を表示させようとするとだめでした。
どうかお知恵を貸してください。
No.1
- 回答日時:
>IF関数とAND関数を混ぜて色々やってみましたが、
その色々やった途中の数式はありませんか?
それを元に考えた方が分かりやすいと思うので、あれば提示してください。
試行錯誤で
=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1")))
に落ち着きました。
お騒がせしました、ありがとうございました。
また困った時は助けてくださいm( _ _ )m
No.2
- 回答日時:
説明の通りなら
=IF(AND(SUM(B2:B4)=300%,B5>=70%,4,IF(AND(SUM(B2:B3)=200%,B4>=70%,3,IF(AND(B2=100%,B3>=70%,2,IF(B2>=70%,1,""))))
または
=(B2>=70%)+(B2=100%)*(B3>=70%)+(SUM(B2:B3)=200%)*(B4>=70%)+(SUM(B2:B4)=300%)*(B5>=70%)
ありがとうございます!!
質問の意味をちゃんと捉えていただき、ありがたいです!!
(わかりづらい説明なのに感動です)
教えていただいた1つ目の式はエラーが出てしまいましたが、
2つ目はバッチリです!!
回答も簡潔でわかりやすいです!ありがとうございます!!
No.3
- 回答日時:
上手くできなかったと言う関数を示してもらえると、どう直せば良いのか、どう考えれば良いのかを示す事ができるんですけど…まあいいか。
まず成立する条件を書き出す
条件1:下記以外すべて
条件2:すべて AND 、Level1=100、Level2>=70
条件3:すべて AND 、Level1=100、Level2=100、Level3>=70
条件4:すべて AND 、Level1=100、Level2=100、Level3=100、Level4>=70
それぞれを数式にしてみる
条件2:AND(Level1=100,Level2>=70)
条件3:AND(Level1=100,Level2=100,Level3>=70)
条件4:AND(Level1=100,Level2=100,Level3=100,Level4>=70)
Level○は該当するセルに書き直すこと
(この AND関数を複数使ったときの組み合わせができなか 演算子 >= が分からないのだろうと推測する)
あとは IF関数で組み合わせればOK
試行錯誤してがんばれ
「IF関数を使った組み合わせが分からない(´;ω;`)」
なんて泣きごと言うんじゃないよ
=IF(条件3,結果3,IF(条件2,結果2,結果1))
などとするだけだ
これはあくまでも一例です。
他にもやり方は多数ありますが、やはりどのようなアプローチをするかを示してくれないと方法を絞り込むことができません。
=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1")))
として、やりたい事ができました。
Cupperさんのおっしゃってる事で、私が質問している内容は間違いありません。
すごく参考になりました。
が、数式もこれに限っているわけではないですし、
この数式を見て、これよりもっと簡単にできるのに、
と思われる方もいらっしゃると思うので、
色々なやり方を知りたかった、というところもあります。
どうもありがとうございます。
また何かあればよろしくお願いします(泣き言も聞いてください。笑)
No.4
- 回答日時:
おっと…添付された図を見るのを忘れてた
手で入力するのは数値ですよね。
文字列として入力した場合 単位の%はそのまま文字になるので 演算子(=,>=など)は使えません。
%を表示させたいのでしたら、セルの書式設定で「パーセテージ」を選択しましょう。
100%を1とする小数を入力するだけで%記号が表示されます。
あるいはセルの書式設定の「ユーザー定義」で%を付加する書式を書くかですね。
例:0"%"
No.5
- 回答日時:
質問の内容が複雑で判りにくい。
下記横列(下記で第1行)もレベル1,2,3,4判定後(下記でA列)も質問ではレベル1,2,3,4となっているが、紛らわしいと思い、判定後はランク1,2,3,4としてみた。
ーー
質問をそのまま表にすると
ーレベル1レベル2レベル3レベル4
ランク1あり***
ランク210070以上**
ランク18070以上**
ランク310010070以上*
ランク410010010070以上
ーー
補足要求。
質問の言わんとする意味の疑問点。
(1)*の部分は入力されることはないのか。入力されても無いものとする?
(2)100の個所は100%に限ると言うことですね。
100%未満ではどのランクに行くのか?
(上例でランク3、4などの場合は?)
(3)80は80%以上の意味か(質問では以上が抜けたのか?)
レベル1の数値は100%か80%のどちらかしか入れないのか?
(4)「あり」のところは100%以外もありえるのですね?
(5)>ランク210070以上**
の例の場合70%未満ではランクはどうなるのですか?
(6)各レベルでの100%は、該当が良くあるケースなのか。他の場合では、100%は普通のイメージでは、パーフェクトで、そんなに該当がないケースを想像するが。
>数字を手入力します。(0%~100%)
ならレベル1も100%以外も入力される、80%未満もある、70%もそれ未満も在るようだな。
具体的なイメージがわかない。
レベル1-4
ーーー
一見したところ、VBAでも使わないと(場合分けが自由に出来ないと。ユーザー定義関数)関数では複雑になりすぎるように思うが。
この回答への補足
=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1")))
が私のやりたい事の答えでした。
どうもありがとうございました。
No.6
- 回答日時:
#2のmshr1962さんの方法で少々訂正と独自解釈をいれて
=IF(AND(SUM(B2:B4)=300%,B5>=70%),4,
IF(AND(SUM(B2:B3)=200%,B4>=70%),3,
IF(AND(B2=100%,B3>=70%),2,IF(B2>0,1,""))))
早い話、ANDの終わりのカッコを忘れてるということです。
良い案だと思うので参考にさせていただきました
で当方は作業列案
C2セル =IF(B2>0,"合格","")
C3セル =IF(AND(B2=1,B3>=0.7,C2<>""),"合格","不合格")
下へオートフィル
B8セル =IF(C2="","","レベル"&COUNTIF(C2:C5,"合格"))
ちなみに 標準の表示形式で計算可能(数値と判断される)な値は右揃えになります。
日付や「$80」、「100%」など
No.7
- 回答日時:
#6です。
訂正です。人の訂正してないで、自分のをよく見ろって言われそう(>o<")C3セルの =IF(AND(B2=1,B3>=0.7,C2<>""),"合格","不合格")
は良いのですが
C4セルは =IF(AND(B3=1,B4>=0.7,C3<>"不合格"),"合格","不合格")
下へオートフィルでした
あと=IF(C2="","","レベル"&COUNTIF(C2:C5,"合格"))
はC8セルへの入力ですね
私の質問の説明がわかりづらかったと思います。
ごめんなさい。
試行錯誤で下記の数式に落ち着きました。
=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1")))
どうもありがとうございました。
また何かあったら是非よろしくお願いしますm( _ _ )m
No.8
- 回答日時:
複雑な入れ子のIF関数が作成しにくい場合は、すべてのレベルに対して、それぞれの結果を表示する式を直列でつなげるのが簡単かもしれません。
レベル1(B2が空白でなく、B2が1未満またはB3が0.7未満)
=IF(AND(B2<>"",OR(B2<1,B3<0.7)),1,"")
レベル2
=IF(AND(B2=1,B3>=0.7,B3<1),2,"")
レベル3
=IF(AND(B2=1,B3=1,B4>=0.7,B4<1),3,"")
レベル4
=IF(AND(B2=1,B3=1,B4=1,B5>=0.7),4,"")
まとめると
=IF(IF(AND(B2<>"",OR(B2<1,B3<0.7)),1,"")&IF(AND(B2=1,B3>=0.7,B3<1),2,"")&IF(AND(B2=1,B3=1,B4>=0.7,B4<1),3,"")&IF(AND(B2=1,B3=1,B4=1,B5>=0.7),4,"")
回答ありがとうございました。
しかし数式をコピペすると「数式中に対応するかっこがありません」
と表示されてしまいました(T△T)
自分でも試行錯誤で下記の数式に落ち着きました。
=IF(AND(B2=100%,B3=100%,B4=100%,B5>=70%),"レベル4",IF(AND(B2=100%,B3=100%,B4>=70%),"レベル3",IF(AND(B2=100%,B3>=70%),"レベル2","レベル1")))
考え方、勉強になりました!どうもありがとうございます!
また困ったときは助けてくださいm( _ _ )m
No.9ベストアンサー
- 回答日時:
=MIN(4,IF(B2=0,0,IF(B2=1,99,1)),IF(B3<0.7,1,IF(B3=1,99,2)),IF(B4<0.7,2,IF(B4=1,99,3)),IF(B5<0.7,3,IF(B5=1,99,4)))
これだと、5レベルが追加されても式の一部を変更するだけですみます。
・最高でも4レベル =MIN(4,
・レベル1の%が入力されていない場合はレベル0、レベル1が100%なら上位レベル、でなければレベル1。IF(B2=0,0,IF(B2=1,99,1)),
・レベル2の%が70%未満の場合はレベル1、レベル2が100%なら上位レベル、でなければレベル2。IF(B3<0.7,1,IF(B3=1,99,2)),
(以下同様)
回答いただき、ありがとうございます。
ほんとだ!!
できました!!
MINでもできるんですね!
思いつかなかったです。
説明も簡潔でわかりやすかったです。
助かりました。
ありがとうございます!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- ノートパソコン 初心者です。ノートパソコンMacBookに関して動画編集をメインに使いたいのですが、プロ並みの大きな 2 2023/06/04 02:39
- SQL Server SQL Oracle serverにって質問です。 会社テーブルがあり、そのテーブルから 社員名、給 4 2022/05/21 12:22
- サッカー・フットサル Jリーグについて、レベルの世界的な立ち位置を教えてください。 選手のレベル、クラブの資金力、観客動員 2 2022/04/06 10:12
- その他(教育・科学・学問) 家庭教師バイトに関する質問です! 経験のある方に助言をいただきたいです! トライのオンライン家庭教師 1 2023/08/21 01:37
- Excel(エクセル) 下記エクセルの式がなぜこうなるのか理由が知りたいです。 6 2022/08/20 00:43
- 予備校・塾・家庭教師 学習障がいです。 数学を教えてもらいたいのですが 通信制高等学校と公文式(レベルに合わせて自主学習) 3 2023/04/11 14:15
- 大学受験 大学受験の参考書について 高3の私文志望(今のところ中堅私立大)です。 基礎固めをしたいです。 持っ 3 2023/08/17 13:47
- テレビ 受信レベル確認について 8 2023/07/06 09:57
- その他(住宅・住まい) 騒音測定の時間について 3 2023/04/01 17:32
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Access レポート印刷するときに...
-
アクセスクエリの計算
-
エクセルのデータをアクセスに...
-
【至急・画像あり】建物or住所...
-
Accessのリンクテーブルのパス...
-
Accessのクエリで、replace関数...
-
日付のテキストボックスに(例...
-
Accessのスプレッドシートエク...
-
Access VBA を利用して、フォル...
-
Microsoft Accessをクレジット...
-
Accessのデータ型の日付/時刻型...
-
accessの代わりになるもの
-
ms access 2013で、チェックボ...
-
マイクロソフト アクセス2021の...
-
エクセルのマクロについて教え...
-
AccessVBAで任意の複数リンクテ...
-
Access Error3061 パラメータが...
-
Access VBA [リモートサーバー...
-
Accessのフォーム上のテキスト...
-
accessでlaccdbファイルが削除...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Access レポート印刷するときに...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
Accessのクエリで、replace関数...
-
Accessのリンクテーブルのパス...
-
Access VBA [リモートサーバー...
-
ACCESS VBA でのエラー解決の根...
-
accessデータを指定したExcel、...
-
Accessのスプレッドシートエク...
-
CSVファイルの「0落ち」にVBA
-
【Access】Dcount関数の複数条...
-
Accessのフォーム上のテキスト...
-
Access VBA を利用して、フォル...
-
実行時エラー3131 FROM 句の構...
-
Vba Userformを前面に出すについて
-
Accessでフォームに自動入力し...
-
Accessレポートのチェックボッ...
-
Accessのテキストボックスの入...
-
Access 複数条件検索の設定が上...
-
accessのフォームに設置したボ...
おすすめ情報