- 締切済み
Excel たくさんの条件を含んだ数式を使いたい
あまりExcelが得意ではない者です。 何卒、お助けいただければと思います。 簡単なバイトのタイムシートを作りたいのですが、 次のような場合、どのような数式(?関数)を使えばいいのかわかりません。 平日は勤務時間×時給(例えば800円)で、 土日祝は勤務時間は入力するものの、勤務時間に関係なく日給(例えば1500円)だとします。 但し、まだ勤務時間を入力していない場合は、空白を表示するようにしたいのです。 そして、土曜日なら、セルの色を水色、日曜・祝日なら、セルの色をピンクにしたいのです。 例えば Aの列に曜日を、Bの列に勤務時間を、Cの列にその日の給料を表示させたいのです。 A B C 木 1.5 1.5×800された数字 金 2 2×800された数字 土 3 4000であり、セルは水色 日 未入力 空白であり、セルはピンク このようなことにしたいので、 Cの列に入力すべき数式(?関数)を教えてください。 宜しくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- KURUMITO
- ベストアンサー率42% (1835/4283)
No1さんのようにC1セルには次の式を入力して下方にドラッグコピーします。 =IF(B1="","",IF(OR(A1="土",A1="日",A1="祝日"),1500,B1*800)) 祝日にはA列のセルに祝日と入力します。 その上でセルに色を付ける操作ですが条件付き書式の設定を行います。 初めにC列を選択します。C1セルがアクティブセルの状態になっています。 「ホーム」タブの「条件付き書式の設定」で「新しいルール」を選択し、表示の画面で「数式を使用して・・・・」をクリックしてから数式の窓には =A1="土" と入力します。同じ画面の「書式」をクリックして「塗りつぶし」のタブから好みの色を選択してOKします。好みの色が無い場合には同じ画面の「その他の色」をクリックすることで多くの色の中から好みの色を選ぶことができます。 さらに、同じように「条件付き書式」の設定を行い、数式の窓には =OR(A1="日",A1="祝日") と入力してから「書式」で好みの色を設定します。
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 余計なお世話かもしれませんが・・・ 土日・祝日の色付けに対応できるようにしてみました。 まず、↓の画像のように祝日の表を作っておきます。 右側SheetがSheet2でA1~E21を範囲指定 → 名前ボックス(画面左上のセル番地が表示されているところ)に かりに 祝日 と入力 → Enter これで範囲指定部分が「祝日」と名前定義されました。 ただこれを利用するには元データをシリアル値で表示する必要がありますので、 元データ(Sheet1)のA1セルに「年」・C1セルに「月」の数値を入力します。 A4セル上で右クリック → セルの書式設定 → 「表示形式」タブ → ユーザー定義 →G/標準 となっているところに d とだけ入力しOK そのA4セルの数式は =IF(MONTH(DATE($A$1,$C$1,ROW(A1)))=$C$1,DATE($A$1,$C$1,ROW(A1)),"") B4セルに =IF(A4="","",TEXT(A4,"aaa")) さらにB4セルをアクティブにしたまま → 条件付き書式 → 新しいルール → 「数式を使用して・・・」 → 数式欄に =OR(WEEKDAY(A4)=1,COUNTIF(祝日,A4)) という数式を入れ → 書式 → 塗りつぶし → ピンクを選択しOK そのままの画面左上の「新しいルール」 → 同様にす「数式を使用して・・・」 → 数式欄に =WEEKDAY(A4,2)=6 として → 書式 → 塗りつぶし → 「水色」を選択しOK A4・B4を範囲指定 → B4セルのフィルハンドルで31日の34行目までオートフィルでコピー! これでカレンダーの色付けは完了です。 最後にD4セルに =IF(C4="","",IF(OR(WEEKDAY(A4,2)>5,COUNTIF(祝日,A4)),4000,C4*800)) という数式を入れオートフィルで下へコピー! これで画像のような感じになります。m(_ _)m
お礼
大変丁寧なご説明、ありがとうございます。 添付していただいた画像が、 作りたかったものがそのまま出来あがってる様子で、感激しました。 ただ、正直に申しますと、私が素人すぎて、 内容が少々難しかったです。 ごめんなさい。 世の中にはすごい知識をお持ちの方がいるのだと 再確認しました、 ありがとうございました。
- aokii
- ベストアンサー率23% (5210/22062)
祝日は定義されていませんので、セルの色は(条件付き書式)難しいですが、給料表示は、C1セルに以下の式でいかがでしょう。 =IF(B1="","",IF(OR(A1="土",A1="日",A1="祝"),4000,800*B1))
お礼
例題の入力、土日祝の日給(1500円)と、 セルでの表現の所の数字(4000円)が、入力間違いしておりました。 早速の回答、ありがとうございました。 いただいたもので、セルの色以外の問題が解決されました。 ありがとうございます。 あとは、セルの色ですよね・・・ 曜日の列で、祝日は、曜日表示ではなく、「祝」と手入力すれば、 条件付き書式でセルの色の問題は解決されるのでしょうか・・・?
お礼
No.1の方の情報に、 セルの色付けの情報をプラスしていただき、 ありがとうございました。 おかげさまで、さっと仕上げることができました。