- ベストアンサー
Excelの計算式について
Excelを使って色々な計算式を作成したいと考えております。 うまく、説明ができない為にExcelファイルを簡易的では御座いますが 作成してみました。 よろしければご覧になって見てください。 http://technocompany.web.fc2.com/excel.jpg A列に日付を入力した場合に自動的に曜日が入るようにしたいのですが このような事は可能でしょうか? A列に入力した日付が月曜日~金曜日の場合には、その右側のC列に¥35000円と入力 A列に入力した日付が土曜日の場合には、その右側のC列に¥22200円と入力 A列に入力した日付が日曜日、祝祭日の場合には、その右側のC列に¥18800円と 自動的に入力をできる様にしたいのですが、このような事は可能でしょうか? B列には、異なる数値を日々入力して、D列にB-Cの数値を表示したいと考えております。 D列に表示された、数値に0.53を駆けた数値を、E列、若しくはF列に表示したいと考えております。 次にE列、若しくはF列に表示された数値に¥15500円を足した金額をG列に表示したいと考えております。 初心者では御座いますがご指導の程よろしくお願い致します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まずは 【 セルの表示形式 】 と言うモノを覚えましょう 日付を入力して、そのセルにそのまま曜日を表示させるには セルの表示形式 を 「 aaa 」 に設定します A列を選択して、「書式」 → 「セル」 → 「分類」項目から「ユーザー定義」を選択 右に表示される「種類」の下にある入力欄に 「aaa」 または 「aaaa」 を入力すると曜日が表示されるようになります ここで設定する形式によって、表示され方が若干変わります aaa : 月 火 水 … aaaa: 月曜日 火曜日 水曜日 … となりますので、適宜都合の良い方を選んでください (日付も表示したいと言うことでしたら、以下の事を終わらせた後にA列とB列の間に一行挿入してそこに =A1 と入力するなどしましょう) 以下の説明は1行目から入力するものとして、1行目に入力(設定)することを前提に説明します C列は IF関数と WEEKDAY関数を使って表示する値を選択します IF関数は説明するまでもないと思いますので詳しい説明は省略します (分からない時は、Excelのヘルプを参照してみてください) WEEKDAY関数は日付を示す値(これをシリアル値と言います)から曜日に対応した数字を返してくる関数です =IF(WEEKDAY(A1,2)<6,35000,IF(WEEKDAY(A1,2)<7,22200,18800)) これで曜日によって表示する値を変えることができます 祝祭日はどのようにして設定するかによって、処理方法が異なりますので後回し D列は普通に計算式 気を利かせて B列に何も入力されていない時は空白になるように IF関数を使うと良いでしょう =IF(B1="","",B1-C1) など E列、F列、G列も同様に計算式を設定です (さすがに これもやってくれてと言うのは、初心者であっても作業依頼と言うことになりますので、 お断りします。 どうしても分からない時にはお友達に聞いてみてください) 次に祝祭日の設定 祝祭日の設定方法でよく使われるのが 祝日の日付を他の場所に入力しておいて、その日付と比較する方法でしょう 別のシート(Sheet2 など)に祝祭日の一覧を作成します 2009/1/1 2009/1/2 2009/1/3 … 2009/12/23 などと入力し一覧を作成します 入力した範囲を選択して左上の名前ボックス(A1:A20 などと表示されているところ)に 「祝祭日」などと入力して "範囲に名前を付けます" 「2009年祝祭日」でもかまいませんが、以下の説明では読み替えてください 元のシートで VLOOKUP関数を使って比較し、 見つかれば祝祭日、 見つからなければ平日土曜日曜 と判断します 関数式では、 =ISNA(VLOOKUP(A1,祝祭日,1,FALSE)) とします(詳しい説明は省略) これで元のシートのA列の日付が設定した一覧にあれば FALSE、一覧に無ければ TRUE が返ってきます この関数式を先ほど説明した C列の IF関数と WEEKDAY関数の中に入れてやります =IF(ISNA(VLOOKUP(A1,祝祭日,1,FALSE)),IF(WEEKDAY(A1,2)<6,35000,IF(WEEKDAY(A1,2)<7,22200,18800)),18800) これで C列は完璧なはず あとは、C列以降に入力した数式を下のセルにコピーすればそのまま使えます 質問に書かれた問題にはどうにか答えられたと思います 関数の組み合わせは初心者でなくても難しい物がありますので 少しずつ覚えるか、思い切って隣の人に任せてしまうなどしてください (そのほうが幸せになれますが、ここで一切を任せるのは利用規約違反です) 長い説明文ですが、是非理解してください 祝祭日の設定に関するノウハウは他にもあると思いますが、VLOOKUP関数で比較する方法が一般的と思います 他の方法を選択される場合も、上記の手順で応用できますので、どこで何をしているのかを 是非是非理解してください ※ 説明を省略した関数や分からない関数は Excelのヘルプを参照すると詳しい説明を見ることができます
その他の回答 (1)
- A88No8
- ベストアンサー率52% (836/1606)
こんにちは WEEKDAY関数で曜日に対する順序数を求めてIF文で場合分けすれば可能です。 例 =WEEKDAY($A1) $A1には、日付型の日付(シリアル値入れ、書式で任意の表示形式にしておく)を格納します。 携帯からの回答はこれが精一杯。後は有識者の方にお願いします。 日曜日:1 月曜日:2 火曜日:3 水曜日:4 木曜日:5 金曜日:6 土曜日:7
お礼
ご丁寧にありがとう御座いました。 参考にさせて頂きます。