エクセルで独立したIF関数の式をひとつのセルに組み合わせる方法
- エクセルで独立したIF関数の式を一つのセルに組み合わせる方法を説明します。
- 条件に応じて計算を行うために、ISBLANK関数とIF関数を使用します。
- セルA4が空白の場合は空白を表示し、時間が入力されている場合は30分繰り上げた時間を表示します。また、セルA4に「継続」という文字が入力されている場合はセルA1の値を表示します。
- ベストアンサー
エクセル 独立したIF関数の式をひとつのセルに
お忙しいところ、ご覧いただき恐縮です。 =IF(ISBLANK(A4),"",(CEILING(A4,"0:30"))) =IF(A4="継続",A1) A1に時間 例えば21:50など A4に時間(A1と同様)または”継続”という文字を入れた場合、それぞれ個別には計算できるのですが、次のような条件で計算をしたいと思っています。 A4が空白の場合には空白を、時間が入っていれば、30分繰り上げた時間を(21:50ならば22:00など)、”継続”という文字が入っていた場合にはA1のセルの値を、といった具合です。 どのような式にしたら、成り立ちますでしょうか。 ちなみに A1は集合時間で2,3には開始や終了時間が入り、 A4は新たな集合時間なのですが、場合によって時間ではなく”上記からの継続”という文言を使った表を作りたいと考えています。 お答えお待ちしております。
- isoiso0423
- お礼率100% (24/24)
- その他MS Office製品
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
IF関数は組み合わせで使用できますので =IF(A4="","",IF(A4="継続",A1,CEILING(A4,"0:30"))) でよいと思います
その他の回答 (2)
- mshr1962
- ベストアンサー率39% (7418/18948)
=IF(ISBLANK(A4),"",IF(COUNTIF(A4,"*継続*"),A1,CEILING(A4,"0:30"))) ※CEILING関数で時刻で切り上げする場合、誤作動することがあります。 確実にする場合は一度整数にした方がいいでしょう。 "0:30"=1/24/2=1/48 =IF(ISBLANK(A4),"",IF(COUNTIF(A4,"*継続*"),A1,CEILING(A4*48,1)/48))
お礼
回答頂き、どうもありがとうございました。 整数に戻すことに関して、誤作動を起こすこともあるんですね。 計算がややこしくなるので、整数になるように独立したセルを儲けており、この点は心配ないと思いますが、知らないことだったので今後の参考にさせて頂きます。 お忙しい中、お時間を割いて頂き、改めてお礼申し上げます。
- kokorone
- ベストアンサー率38% (417/1093)
=IF(ISBLANK(A4),"",IF(ISERROR(SEARCH(A4,"継続")),(CEILING(A4,"0:30"),A1))) こういう形を入れ子と呼びます。 上の式は、A4セルに、継続の文字を含んでいるかという判断です。
お礼
ご回答、ありがとうございます。 ”入れ子”初めて聞きました。 参考にさせて頂きます。 お時間を割いて頂き、改めてお礼申し上げます。
関連するQ&A
- エクセルで関数の計算範囲に別の関数式で出した空白がある場合
MAX関数を使う際、選択した範囲内(A10:A1000)に IF関数とISBLANK関数を使った数式 ( =IF(ISBLANK(C1),"",B2+C1) )の空白があると MAX関数がVALUEとなって計算されません どうしたらいいですか?
- ベストアンサー
- オフィス系ソフト
- 一つのセルでIF関数を二つ使いたい
二つのセルの値を割って、%を表示させるために、三つ目のセルには 「=1-(B1/A1)」を入れていたのですが、そこに、二つのセルが空白の時にはエラー表示にならないようにIF関数を使い、三つ目のセルは 「=IF(ISBLANK(A1),"",(1-(B1/A1)))」 という数式にしました。 その数式にさらに、もし二つのセルの値が「0」の時には、結果を「0%」として表示させたくて、三つ目の数式の中にもうひとつのIF関数を同時に使いたいのですが、 一つのセル内に、IF関数を使って結果をうまく表示させるには、どのような数式にすれば良いでしょうか??
- ベストアンサー
- オフィス系ソフト
- Excel のIF関数について
いつもお世話になっております。 Excel で表を作成しようとしています。 C列(始業時間) D列(終業時間) E列(休憩時間) を表示するようにしています。 E列の休憩時間に入る数値は『1:00』なので、 C列を入力したら自動的に表示するようにしようと思いました。 ただし、休みの日があったり、13:00以降の始業時間だと休憩時間はないので 始業時間が空白の時は、休憩時間も空白 始業時間が『13:00以降』の場合も休憩時間は空白 …というようになるようE列に下のようなIF関数をたててみました。 =IF(ISBLANK(C1),"",IF((C1)<"12:00","1:00","")) うまくいったように思ったのですが、始業時間に13時以降の時間を入れても 休憩時間は空白にならず『1:00』を表示してしまいます。 あれこれ考えたのですがギブアップです…。 どなたかアドバイスいただければ幸いです。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 関数 IFとISBLANKのネストについて
空白のセルに「0」とか「#VALUE」は見栄えが悪いので、 「IFとISBLANK」の組み合わせて、参照セルが空白 の場合は「値を求めるセルも空白」としていました。 更にこのネストのセルを参照して、値を求めるセルにも 「IFとISBLANK」のネストで空白にしたいと思って実行したら 「#VALUE」となって見栄えは良くありません。 何か良いやり方についてご教授いただきたいのですが。
- ベストアンサー
- その他(Windows)
- [Excel]関数の入った空白セルについて
初めまして。 エクセル2003を使用してます。 似たような質問は多々あったのですがいまいちこちらが求める答えには導かれなかったので投稿させてもらいました。 関数についてはIFを時々使うくらいの知識しかありません。 会社で使う日報を作成しています。 A B C D 出社時間 退社時間 実働 残業 9:00 19:00 9:00 1:00 Cのセルには =IF(OR(ISBLANK(A1),ISBLANK(B1)),"",(((B1-A1)*24)-1)) と入力しました。 ちなみに9時出社で18時退勤、お昼1時間休憩があるのでマイナス1時間の合計8時間労働です。 休みの日は空欄なのでエラーにならないようにISBLANKを使い、ここまでは良かったのですが、 Dの残業を計算する際、残業があった場合のみ差し引いた時間が出るようにしたいので =IF(OR(ISBLANK(C1),C1<8.15),"",(C1-8)) このように入力したところ、出勤日でない日(C列の空欄セル)が#VALUE!と出てしまいました。 数式が入っている空白セルがある箇所をエラーにならないようにするにはどのような関数を使えば良いのでしょうか? 初歩的なことかもしれませんが、よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- EXCELでの関数についての質問
EXCELの関数についての質問です。EXCELのバージョンは2010を使用しています。 状況を簡略化して説明すると以下のとおりです。 Cell(A1)=実数 (数値、あるいは空白) Cell(B1)=数式 (=IF(ISBLANK(A1),"",50/B2*100) Cell(C1)=数式 (=IF(ISBLANK(B1),"",100-C2) これでA1~A100までデータが散在するデータベースを想定してください。 この時B1は定数を参照しているのでA1がBLANKの時、ISBLANK関数の効果で文字が表示されず、 またA1が数値の時には式の通り計算が行われます. しかしCでは、B1の数式を参照していることになるので、B1がBLANKの場合でも計算が行われ、 結果として#VALUE!のエラーとなります。 この状況を回避するためにはどうすればいいのか、スマートな解法をお待ちしています。 VBマクロなどの方法でも大丈夫ですが、基礎的なことしかわからないのでコメントを付けていただけるとありがたいです。 そこまで実害は無い問題なので、例えば別個に計算するなどの力技はご遠慮ください。
- ベストアンサー
- その他MS Office製品
- エクセルの式で
エクセルの式で、IF関数を使って、[A2]=IF(A1=0,"",A1) とすると、A1=0なら、A2を空白にしてくれますが、このとき、[A4]=A2+A3 とすると、A2が空白の時、エラー、#VALUEになります。このとき、空白を0として計算するようにできますか? 帳簿の中に、0がたくさんあるのは嫌なので、0のところを空白になるよう、IF関数で””を使いました。しかし、実際に空白になったところを、他の式で参照して、計算すると、その分が、文字のように認識し、計算がエラー、#VALUEになるわけです。これを避けることはできますか?
- ベストアンサー
- その他MS Office製品
- IF関数での計算結果を貼り付けたとき、完全な空白セルにしたい
EXCELのIF関数で例えばA1セルが3のときAを表示して違うときは空白にしたい場合は =IF(A1=3,"A","") と書くと思いますが、IF関数が書かれているセル(計算結果)をコピーして他の範囲に値だけを貼り付けた場合、Aまたは空白セルに見かけ上はなってはいるのですが、その空白セルにはよく見ると '(カンマ)が入っており、完全な空白セルにはなっていないようです。後で貼り付けられた範囲を編集していきたいのですが完全な空白セルでないため作業が続かなくなっています。どなたか詳しい方がおられましたらよろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- IF関数とIsblank関数の組み合わせで
IF関数とIsblank関数の組み合わせで、q2とr2とs2がともに空白のとき、t2は空白に、もし、q2,r2,s2のいずれかに数値が入っている場合、その数値をt2に返したいのですが、どのようにすればよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
早朝にご回答ありがとうございます。 なるほど、これでいいんですね。 表に当てはめたところ、計算できました。 お時間を割いていただき、改めてお礼申し上げます。