ジメジメする梅雨のお悩み、一挙解決! >>

病院なんかで お薬をもらってまた次回 来院するのですが、たとえば、一週間単位で次回も主治医のいる火曜日にという特定の曜日にしたい場合、14日分、28日分、56日分などとするのはいいのですが、19日分などとしてお薬なくなったから来ましたとして曜日が合わない場合困ります。19日の前の直近の火曜日はいつの日日(ひにち)かをエクセルで表すのにはどうすればいいのでしょうか。

A 回答 (6件)

コメントいただいた内容を反映して修正しました。



[B1]に受診日を入力します。

[B2]に処方された薬の日数を入力します。

[B3]は薬がなくなる日を計算します。式は以下の通り
=B1+B2

[B4]は薬が無くなる前の火曜日に当たる日を計算します。
=B3-WEEKDAY(B3)+WEEKDAY(B1)+IF(WEEKDAY(B3)<WEEKDAY(B1),-7,0)

日付の右に曜日を表示しています。
[C1]
=B1
と式を入れ、
C1セルで、右クリック→ セルの書式設定 → 表示形式
右にあるユーザ書式のところに「aaa」と入力してok
これで曜日が表示されます。
C1セルをC3、C4セルにコピー貼り付けすると、
薬のなくなる日、次回受診日の曜日も表示されます。

次回受診日について、
たとえば【7/13に14日分処方】されると、きっちり2週間後の【7/27】という結果になりますが、
きっちりなくなる日ではなく余裕を持って1週間前【7/20】にしたい場合は、
[B4]
=B3-WEEKDAY(B3)+WEEKDAY(B1)+IF(WEEKDAY(B3)<WEEKDAY(B1)+1,-7,0)
と、式の最後の方に「+1」を加えてください。
画像にある2行目の式で、後ろのほうの赤い字の部分です。
(画像がぼやけてますが、場所は確認できますよね?)

お試しください。
「エクセル 日付けと曜日」の回答画像4
    • good
    • 1

添付図の式を入力してみてください。

「エクセル 日付けと曜日」の回答画像6
    • good
    • 0

例えば


B1 に 今回の受診日 を入力
B2 に 処方日数 を入力
B3 に 次回受診日(今回の受診日と同じ曜日で、尚且つ薬が無くなる前)を表示させる
B3 に 
=B1+B2+IF(WEEKDAY(B1+B2)>WEEKDAY(B1),WEEKDAY(B1)-WEEKDAY(B1+B2),IF(WEEKDAY(B1+B2)<WEEKDAY(B1),(WEEKDAY(B1)-WEEKDAY(B1+B2))-7,0))
を入力

B1 に 今回の受診日が、絶えず今日ならば
=TODAY()

と、こんな方法
    • good
    • 0
この回答へのお礼

DEBU-NEKOMARU 様
ありがとうございました。できました・・。エクセルの神様ですね。また、質問する時があると思いますがよろしく。・・・。ついでといっては何ですが・・。マクロボタンに色って付けられるのですか。

お礼日時:2017/07/14 06:16

お礼を受けまして


>受診日のその日の曜日が主治医のいる場合として、お薬がなくなる前の同じ曜日の日日を知るにはどうすればよろしいのでしょうか
受診日のその日の曜日が主治医のいる場合として・・・火曜日なのですよね
19日分処方された時・・・受診日から 19日後ですよね
その19日後の直前の 同じ火曜日を知りたいのでは?

あくまで、火曜日は例えで
受診日を入力するだけで、それが何曜日か?を検出して
処方された薬の日数の日にち後の 月日の直前の
受診日と同じ曜日を表示したいのですか。
    • good
    • 0
この回答へのお礼

ありがとうございます。

あくまで、火曜日は例えで
受診日を入力するだけで、それが何曜日か?を検出して
処方された薬の日数の日にち後の 月日の直前の
受診日と同じ曜日を表示したいのですか。

こっちの方です。前回のお薬をもらった曜日と同じ曜日に来るものとして、(薬の切れる前)

例)ある月曜日(火曜日または水曜日でも)に30日分処方薬をもらったが、30日後でなくなったからといって病院薬局にきてもDrが月曜日でないのでいないのでお薬もらえない。二日前だと同じ月曜日だからいる。その日日ということです。

お礼日時:2017/07/13 07:43

画像を添付しました。


こんな感じのもので良いでしょうか?

[B1]に受診日を入力します。

[B2]に処方された薬の日数を入力します。

[B3]は薬がなくなる日を計算します。式は以下の通り
=B1+B2

[B4]は薬が無くなる前の火曜日に当たる日を計算します。
=B3-weekday(B3)+if(weekday(B3)<3,-4,3)

なお、薬が無くなる当日を結果として表示します。
火曜日にキッチリ無くなる場合、その日を表示します。

もし、その当日に行けない場合を考慮して、
1週間早めに病院に行来たいばあいは、[B4]の式を変えて下さい。
[B4]
=B3-weekday(B3)+if(weekday(B3)<4,-4,3)
「エクセル 日付けと曜日」の回答画像2
    • good
    • 0
この回答へのお礼

zongai様 早速のご回答 ありがとうございます。小生の質問の舌足らずで申し訳ありません。 受診日のその日の曜日が主治医のいる場合として、お薬がなくなる前の同じ曜日の日日を知るにはどうすればよろしいのでしょうか・・。という質問です

お礼日時:2017/07/13 02:56

例えば


A1 に 今回の受診日
A2 に 何日後か  ・・19日後なら 19
A3 に =A1+A2
A4 に =A3-WEEKDAY(A3) -4
WEEKDAYで、直近の土曜日を返し、さらに4日前(火曜日)を返す
    • good
    • 0
この回答へのお礼

DEBU-NEKOMARU様 有難うございます。小生の質問の舌足らずで申し訳ありません。先の zongai様と同じく受診日のその日の曜日が主治医のいらっしゃるものとして同じ曜日に合わせるのにはどうすればよろしいのでしょうか・・。小生 薬剤師でお薬を先に調剤しておく場合、今回お薬もらっていってその患者が また 薬がなくなる前 同じ曜日に来局される日日を知りたいのです。

お礼日時:2017/07/13 02:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aと関連する良く見られている質問

QExcel条件付き書式での指定した日付を塗りつぶす方法について

お世話になっております。
添付画像を見本と致します。
BセルからCセルの15日前を塗りつぶし処理をしたいのですがどの様に条件付き書式を
構成すればよろしいのかご教示をいただきたい内容になります。

宜しくお願い致します。

Aベストアンサー

( ‥)ン? 「2017/7/15」前までを塗りつぶしたいという事でいいのかな?
だとして・・・
セルB4~F4までを範囲してしておき、条件付き書式より「新しいルール」から
「数式を使用して・・・」で、入力欄に 「=B3<$E$3」の式を入れ、
書式より塗りつぶしの色を設定→「OK」→「OK」にすると希望通りに。

Qエクセルの式がわかりません、教えてください。

fujillinさん解り易くしました。

報告書を作成する際、入力内容から、A(業務報酬)
とB(預り金)を選ばせようとしていますが、うまく表示されません。どこがいけないのでしょうか?

パターンは4つありますが、
もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が有ったら)
B =$V$18(預り金)

もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が無かったら)
この事例はあり得ませんので削除

もし、$AP$7="○" ○で(請求書が弊社宛)
('!$AL$7="")文字式が空欄だったら(下請会社名の記載が無かったら)
A =$V$19(業務報酬)金額的には100%
もし、$AP$7="○" ○で(請求書が弊社宛)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が有ったら)
A =$V$19(業務報酬)金額的には50%

を選ばせようとしています。

疑問点の $AT$7=(支払金額)は上記の式に関係ないものとして削除しました。

以下の文書では、もし、$AP$7="×"(請求書が弊社宛ではなくて)で $AT$7=""(支払金額の記載が無かったら)A=$V$19(業務報酬)

もし、$AP$7="○"(請求書が弊社宛で)、,NOT($AL$7==""(下請会社名の記載が有ったら)、A=$V$19(業務報酬)
そうでなければ、B=$V$18(預り金)

=IF(AND($AP$7="×",$AT$7=””),$V$19,IF(OR($AP$7="○",NOT($AL$7="")),'$V$19,$V$18))

改善策1として
=IF($AP$7="×",$V$18,$V$19)を入れてみましたが、
もし請求書が弊社宛では無ければ、預り金、そうでなければ業務報酬

もし、$AP$7="○" ○で(請求書が弊社宛)
($AL$7="")文字式が空欄だったら(下請会社名の記載が無かったら)
A =$V$19(業務報酬)
がうまくいきません。


改善策2として
=IF(OR($AP$7="○",NOT($AL$7="")),$V$18,$V$19)で作成しましたが、間違っていました。
(請求書が弊社宛)または(下請会社名の記載が有ったら)、業務報酬、そうでなければ預り金


パターン例
請求書が弊社宛 請求書が弊社宛じゃない
下請会社有 業務報酬 預り金
下請会社無 業務報酬 -

fujillinさん解り易くしました。

報告書を作成する際、入力内容から、A(業務報酬)
とB(預り金)を選ばせようとしていますが、うまく表示されません。どこがいけないのでしょうか?

パターンは4つありますが、
もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が有ったら)
B =$V$18(預り金)

もし、$AP$7="×" ×で(請求書が弊社宛ではなくて)
NOT('!$AL$7="")文字式が空欄じゃなかったら(下請会社名の記載が無かった...続きを読む

Aベストアンサー

またしても添付画像が判別できないですけど。
細かく書いても表示される画像は縮小されてしまうので、
それでもわかるように工夫(画像をトリミング;必要な部分以外は切り捨てる)する必要があります。
その方法は質問に関係ないので省きます。

画像のものを憶測で簡略化したものを添付します。
これで式を考えてみます。

私が回答投稿して良い空気なのかわからないけど…

■APが「○」の場合
ALやAYの内容がどうであれ、結果は全て「業務報酬」になります。

これを、IF関数を使って表すと以下のようになります。

=IF(AP="○","業務報酬",【AP="×"の場合の処理】)   …【式1】

これで、条件①~④の場合の処理は完了。

■APが「×」の場合
結果が「業務報酬」と「預り金」のどちらかになります。
どの条件で結果が分岐するのか、見てみると・・・

AYに金額の記入があるか、無い(空欄)かで違います。

これを、IF関数を使って表すと以下のようになります。

=IF(AY<>"","業務報酬","預り金")   …【式2】

これで、条件⑤~⑧の場合の処理は完了。

■合体!

(式1)と(式2)を合体させると、条件①~⑧全てを処理できる式になります。
ではやってみましょう。

=IF(AP="○","業務報酬",【AP="×"の場合の処理】)
   ↓
=IF(AP="○","業務報酬",【式2】)
   ↓
=IF(AP="○","業務報酬",IF(AY<>"","業務報酬","預り金"))   …完成!

※もちろん、「AP」「AY」だけだとセルになっていないので、行番号も加えて下さい。


■疑問
あくまで、私が画像から読み取った条件で考えたのですが

AL(業者名の有無)については、結果表示させるにあたり、条件として不要だと思います。

条件④と条件①の違いは?(画像で判別不可)

条件④と条件⑧は無いパターンとのことでしたので、
データミスでも存在しえないないものと解釈しまして、
敢えてそのようなケースが合った場合のエラー処理などは含めていません。

---------------------
★別解
添付した表を前提条件としての別解を。

条件がいくつもあっても、結果が「預り金」となるパターンは条件⑦、ただ1つのみ。

そこだけをIFで判別します。

=IF(AND(AP="×",AY=""),"預り金","業務報酬")

こんなにシンプルになります。
※もちろん、「AP」「AY」だけだとセルになっていないので、行番号も加えて下さい。

またしても添付画像が判別できないですけど。
細かく書いても表示される画像は縮小されてしまうので、
それでもわかるように工夫(画像をトリミング;必要な部分以外は切り捨てる)する必要があります。
その方法は質問に関係ないので省きます。

画像のものを憶測で簡略化したものを添付します。
これで式を考えてみます。

私が回答投稿して良い空気なのかわからないけど…

■APが「○」の場合
ALやAYの内容がどうであれ、結果は全て「業務報酬」になります。

これを、IF関数を使って表すと以下のようになります...続きを読む

Qエクセルで三つの条件での参照する方法。 お世話様です。 コード 項目 7月 8月 9月 10月 11

エクセルで三つの条件での参照する方法。
お世話様です。

コード 項目 7月 8月 9月 10月 11月 12月
1234 野菜 8 11
9876 肉類 5 4
小計 5 8 11 4
2345 魚類 12 8
3456 麺類 1 6
小計 1 6
合計

このようなデータがあります。
コードは1000くらいあります。
小計も100くらいあります。

別シートにこれよりも項目が多い表があります。
この表に上記データを反映させたいです。

作業列を作りコードと項目を&で合体させ
ます。
それを検索値とし、別シートの7月の列にvlookup関数にします。
コードの列をフィルタ掛けし小計、合計を非表示にします。
貼り付け。

これを月別に貼り付けしようと思います。
他に効率良い方法ありますか?
言葉足らずな点は補足します。
よろしくお願いいたします。

エクセルで三つの条件での参照する方法。
お世話様です。

コード 項目 7月 8月 9月 10月 11月 12月
1234 野菜 8 11
9876 肉類 5 4
小計 5 8 11 4
2345 魚類 12 8
3456 麺類 1 6
小計 1 6
合計

このようなデータがあります。
コードは1000くらいあります。
小計も100くらいあります。

別シートにこれよりも項目が多い表があります。
この表...続きを読む

Aベストアンサー

素朴な確認をば。
小計行の数値 5、8、11、4 はどのセルとどのセルとの小計になっているの?
「あれは、単に書いたまでで、実はデタラメ!」なんて言わないでネ。回答者は真剣なので。

Q西暦をS〇〇年〇月〇日へ

1964/11/10と入力していましてこれを
S39年11月10日と表示したいのですがどうすればいいのか教えて下さい。

Aベストアンサー

セルの書式設定でユーザ定義を加えれば、
お望みどおりの表示形式が作成できます。

Qエクセルを私が開くと日付の表示がおかしくなる(他の人は問題なし)

会社でエクセルファイルを私が開くと日付の表示がおかしくなります。(他の人は問題ないです)

具体的には、平成○年○月○日という表示されるよう設定されファイル作成されているはずが、
私が開くと○月○日平成○○年と表示されます。

このようなファイルが一つではありませんので、私のPCでの「エクセル」の設定がおかしいのかと。

勿論、毎度毎度、気が付く度に手作業で直せますが、根本的にリセットしたいです。
気が付かないで印刷し取引先に送ったら注意を受けてしまいました。

原因・修正にお心当たりの方、ご教示の程宜しくお願い致します。

Aベストアンサー

参考になりますかね
https://oshiete.goo.ne.jp/qa/2408312.html
https://matome.naver.jp/odai/2141732667925396001

Qエクセル 数式を教えてください!

エクセルの数式を教えてください!

エクセルでタイムカードを作成しているのですが、休憩時間が2枠ある場合(①通常時間帯②深夜時間帯)の各時間(拘束時間・労働時間・日勤時間・通常残業・深夜
時間・深夜残業)の算出数式が分かりません。

画像のように、休憩時間は①通常時間帯と②深夜時間帯(22:00~5:00)の2枠あり、それぞれ合計時間を数値で入力します。
各時間帯の休憩時間がそれぞれ、
・拘束時間・労働時間・日勤時間・通常残業・深夜時間・深夜残業に反映させるようにしたいのですが、休憩が2枠あるため数式がうまくいきません。。

深夜帯(深夜時間・深夜残業)は22:00~5:00で、1日の労働時間が8時間を超えた場合に残業となります。

画像のように、【拘束時間・労働時間・日勤時間・通常残業・深夜時間・深夜残業】に適切な数値(出勤退勤はh:mmで入力し、その他は15分=0.25単位の数値)で計算されるようにしたいです!

賢者の皆様、どうか宜しくお願い致します!

Aベストアンサー

ANo3です。

>15分を0.25と数値で計算させる方法がわからないので
シリアル値は1日が1.0となるように計算しています。

シリアル値の時間をTとするなら
 =HOUR(T)+MINUTE(T)/60
とすることで、時間単位(15分は0.25時間)に該当する値を得られます。
例えば、3:15 → 3.25 となります。

上記の1日=1.0(1日=24時間)を利用すれば、もっと簡単に
 =T*24
とすることでも、同様の結果を得ることができます。

※どちらの場合も、表示書式は「数値」や「標準」としておく必要があります。

Qコピー&ペーストではなく数式やエクセルの機能を使ってデータを反映させたい。

下記の「表①」のエクセルデータを、「表②」に反映させたいです。
「表②」のB3セルに、数式を入れて、「表①」のログイン・ログオフ時刻を「表②」へ
自動反映させたいのですが、どのような式を入れたらいいかがわかりません。

現状は、目視とコピー&ペーストで表①→表②へ貼りつけていますが、
スタッフの数が多いのとシフト勤務で出勤日数も時間もバラバラで、作業が大変です。

また、早くて正確なら他の方法でもいいです。
よろしくお願いします。


表①
A B C D E
1 氏名 日付 ログイン 日付 ログオフ
2 田中 舞子 2017/5/16 8:21:35 2017/5/16 17:34:38
3 田中 舞子 2017/5/17 8:22:40 2017/5/17 17:35:00
4 田中 舞子 2017/5/18 8:28:02 2017/5/18 17:35:55
5 田中 舞子 2017/5/19 8:22:09 2017/5/19 17:34:18
6 田中 舞子 2017/5/22 8:18:03 2017/5/22 17:33:13
7 三田 建造 2017/5/23 8:19:55 2017/5/23 17:39:44
8 三田 建造 2017/5/25 8:21:03 2017/5/25 17:38:04
9 三田 建造 2017/5/26 8:17:45 2017/5/26 17:31:54
10 三田 建造 2017/5/29 8:19:42 2017/5/29 17:32:39
11 三田 建造 2017/5/30 8:20:12 2017/5/30 17:33:26
12 牧 重三 2017/5/31 16:18:33 2017/5/31 23:31:36
13 牧 重三 2017/6/1 16:20:08 2017/6/1 23:35:33
14 牧 重三 2017/6/2 17:18:35 2017/6/2 23:41:05
15 牧 重三 2017/6/5 15:20:00 2017/6/5 23:31:54
16 牧 重三 2017/6/6 19:22:05 2017/6/6 23:41:14
17 長岐 知美 2017/6/7 8:25:48 2017/6/7 17:34:38
18 長岐 知美 2017/6/8 8:26:24 2017/6/8 17:36:52
19 長岐 知美 2017/6/9 8:26:01 2017/6/9 17:34:08
20 長岐 知美 2017/6/12 8:19:24 2017/6/12 17:32:02
21 篠田 亜紀 2017/5/21 8:19:14 2017/5/21 17:32:29
22 柿田 輝未 2017/5/28 7:34:55 2017/5/28 17:17:54
23 荒元 耕平 2017/6/4 7:32:49 2017/6/4 17:32:50
24 佐田 容子 2017/6/11 8:18:35 2017/6/11 17:41:05
25 藤島 澄人 2017/6/12 8:25:15 2017/6/12 17:59:55
26 藤島 澄人 2017/6/13 8:45:31 2017/6/13 17:41:06
27 藤島 澄人 2017/6/14 8:05:34 2017/6/14 17:28:14
28 藤島 澄人 2017/6/15 8:13:25 2017/6/15 17:30:24


表②
   A B C D E F G
1 田中 舞子 三田 建造 牧 重三 ・・・・
2 日付 ログイン ログオフ ログイン ログオフ ログイン ログオフ
3 2017/5/16 B3
4 2017/5/17
5 2017/5/18
6 2017/5/19
7 2017/5/20
8 2017/5/21
9 2017/5/22
10 2017/5/23
11 2017/5/24
12 2017/5/25
13 2017/5/26
14 2017/5/27
15 2017/5/28
16 2017/5/29
17 2017/5/30
18 2017/5/31
19 2017/6/1
20 2017/6/2
21 2017/6/3
22 2017/6/4
23 2017/6/5
24 2017/6/6
25 2017/6/7
26 2017/6/8
27 2017/6/9
28 2017/6/10
29 2017/6/11
30 2017/6/12
31 2017/6/13
32 2017/6/14
33 2017/6/15

下記の「表①」のエクセルデータを、「表②」に反映させたいです。
「表②」のB3セルに、数式を入れて、「表①」のログイン・ログオフ時刻を「表②」へ
自動反映させたいのですが、どのような式を入れたらいいかがわかりません。

現状は、目視とコピー&ペーストで表①→表②へ貼りつけていますが、
スタッフの数が多いのとシフト勤務で出勤日数も時間もバラバラで、作業が大変です。

また、早くて正確なら他の方法でもいいです。
よろしくお願いします。


表①
A B ...続きを読む

Aベストアンサー

表①のB列ですが、シリアル値「2017/5/16 8:21:35」を表示形式で「2017/5/16」と表示していませんか?もしそうであればNGです。B2セルは時刻の部分をゼロにしてください。

2人ログオンする日がある件ですが、残念ながら、この方式では実現できません。
No.1 chonamiさんの案が一番簡単そうです。たぶん、こんな感じを想定していると思われます。

【B3セル】=SUMIFS(表①!$C:$C,表①!$A:$A,B$1,表①!$B:$B,$A3)
※C3セルは、上記を参考にご自分で考えてみて下さい。

QExcelで2つの行を1つにするには?

Excelで2つの行を1つにするにはどうしたらよいでしょうか?

A ○
A   ○
B ○
B      ○

というデータを

A ○ ○
B ○    ○

という形にしたいです。

1行に○は1つで、同じ名前(AやB)であれば、位置も重複するものはありません。
しかし、全部で1万行近くあるため、関数等でまとめることができればと思います。

説明が下手で申し訳ありませんが、何か方法があれば教えてください。
よろしくお願いします。

Aベストアンサー

ちょっと違った方法なので(マニュアル操作です)、興味があればお読みください。
「データ」タブの「総合」機能を使うものです。

集計元データが、Sheet1のA~Dにあるとします。
まず、空白のシート(Sheet2)のA1セルを選択した状態で、「データ」タブの「総合」を選択し、画像のように設定して、OKをクリックしてみて下さい。
すると、A列の値毎に○の数が集計されるので、1→〇に置き換えれば完成です。

Q入力文字を逆さに

写真のようにA1~A4の入力文字をA5~A8に逆さにして入力する方法を教えてください。
エクセル2010と2013を使用しています。
よろしくお願いいたします。

Aベストアンサー

こんなのはどうでしょうか。
「セルの書式設定」-「配置」で、文字列の方向を90度、および、-90度にします。

ちなみに、F1~I1は、A1~D1を数式で参照します。参照順番はお好きなように変更してください。
さらに云うなら、品名や生産日?の一覧を別途作成して、画像の印刷用シートは、それを参照するようにした方が、入力も楽ですね。

Qエクセルの関数で

以下の算式を満たすエクセルの関数を教えていただけないでしょうか。

セルA1(①) セルA2(②) セルA3(③) セルA4(④) セルA5(⑤)


③=①-②
④=③÷② 小数点3位未満切り捨て
⑤ ④が0.05超の場合  0.09+((④-0.05)×0.3  (上限0.1) 小数点3位未満切り捨て
④が0.05以下の場合 0.09-((0.05-④)×0.1  (下限0.06) 小数点3位未満切り捨て


ここの⑤を満たす式を教えてください。

例えば①531,116,991②646,729,949のとき⑤は0.067となります。

よろしくお願いいたします。

Aベストアンサー

0.05超の場合の式…⑥
0.05以下の場合の式…⑦
IF(④>0.05,IF(⑥>0.1,ROUNDDOWN(⑥,×),0.1),IF(⑦<0.06,0.06,ROUNDDOWN(⑦,×)))

×部分はうろ覚えです、小数点第三位なら「3」…ですかね…?

以上でどうでしょう


人気Q&Aランキング

おすすめ情報