エクセルで週表示の隔週表示を実現する方法

このQ&Aのポイント
  • エクセルで週表示の隔週表示を実現する方法について教えてください。
  • 現在、エクセルで月の表に曜日を入力し、特定の週を任意で選択して隔週表示を行っていますが、もう一項目を追加して週を指定できるようにしたいです。
  • 具体的な計算式やセルの書式について教えていただけると助かります。
回答を見る
  • ベストアンサー

エクセルで隔週表示したいのですが・・

現在年月日を一月の表でA列に曜日を 入れると1行に「◎」を表示させていますが もう一項目B列を追加して1.3(第一第三) などの週を任意で選択して隔週表示出来るように したいのですが分かりませんのでご教授いただきたく よろしくお願い致します A1=2016(年) A2=12(月) B2=DAY(A203) から AF2=IF(B233=31,31,"")(日) A203=DATE(A1,A2,1) から A233=A232+1 月末の判定 A3=月水金 (曜日の指定) (計算式) B3=IF(COUNTIF($A3,"*"&TEXT(DATE($A$1,$A$2,$B$2),"aaa")&"*")>0,"◎","") から AF3=IF(COUNTIF($A3,"*"&TEXT(DATE($A$1,$A$2,$AF$2),"aaa")&"*")>0,"◎","")

質問者が選んだベストアンサー

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>もう一項目B列を追加して1.3(第一第三)などの週を任意で選択して隔週表示出来るようにしたい との事ですが、それだけしか説明がないのでは、具体的にはどの様な形式で第一第三などの週を指定されるおつもりなのかという事が今一つ解りません。  それに、A3セルに曜日を入力して、B列のセルに第一第三などの週を指定する値を入力すとした場合、例えば「第2、第3月曜」と「毎週水曜」、「第1、第4木曜」に「◎」を表示させる場合などの様に、曜日ごとに週が異なっている場合には、B列のセルに入力されている「第一第三などの週を指定する値」が「月」、「水」、「木」などの中のどの曜日に関する「週を指定する値」なのかという事を、どの様に区別すれば良いのでしょうか?  ですから、やり方を少々変えて、例えば以下の様にされては如何でしょうか?  前提条件として、A3セルには例えば 「毎週火曜、第1.3.5水・金、第2・4月土曜」 などの様に、1つのセル内に曜日と第何週(或は毎週)なのかを指定する文字列をまとめて入力する様にします。  その際、「第1.3.5水・金」や「第2・4月土曜」などの様に第何週なのかを表す数字や、曜日を表す文字の間を区切る記号等は「.」でも「・」でも「,」でも何を使用しても構いませんし、「第135水金」などの様に区切らずに記述しても構いません。(「第一、二」などの様な漢数字は不可)  但し後述する関数では、例えば「第2第4月曜」などの様に第何週なのかを表す数字同士の間に「第」や「毎」の文字が挟まっている場合、「曜日の直前にある『第』や『毎』の文字」の位置~「『月曜』等の曜日を表す文字」の位置の間にある数字しか「その曜日に関する週の数字」と見做されず、「第2第4月曜」の場合には、曜日を表す「月」の文字の直前にある「第」の文字は、「第4」の「第」の文字ですので、「第4月曜」の部分のみが「月曜に関する記述」と見做されて、その更に前の部分にある「第2」に関しては「月曜に関する記述」とは見做されないため、「第4月曜」には「◎」が表示されるのに対して、「第2月曜」には「◎」が表示されなくなってしまいます。  ですから、「第2第4月曜」などの様に同じ曜日に関する記述の途中に「第」や「毎」の文字が挟まっている様な事は無い様に願います。  一方、曜日に関しては「月曜土曜」などの様に途中に「曜」の文字が挟まっていても構いません。  但し、「毎週火曜日」などの様に「曜」などの後に「日」の文字が入っていますと、「日曜」に関する記述と区別出来なくなりますので、「日曜」に関する記述以外ではA3セルに「日」の文字を入力しない様にして下さい。  同様にA3セルには、「月曜」に関する記述以外では「月」の文字を入力しない様にして下さい。  上記の条件が守られている場合において、以下の様な方法を用いれば、指定した週の指定した曜日の日にのみ「◎」が表示されます。  まず、B2セルに次の関数を入力して下さい。 =IFERROR(($A$1&"/"&$A$2&"/"&COLUMNS($B2:B2))+0,"")  次に、B2セルの書式設定の表示形式を[ユーザー定義]の d に設定して下さい。  次に、B3セルに次の関数を入力して下さい。 =IF(B$2="","",IF(ISNUMBER(FIND(CHAR(1),SUBSTITUTE(SUBSTITUTE(ASC(CLEAN(REPLACE(LEFT($A$3,FIND(TEXT(B$2,"aaa"),$A$3)),1,FIND(CHAR(1),SUBSTITUTE(SUBSTITUTE(LEFT($A$3,FIND(TEXT(B$2,"aaa"),$A$3)),"毎","第"),"第",CHAR(1),LEN(LEFT($A$3,FIND(TEXT(B$2,"aaa"),$A$3)))-LEN(SUBSTITUTE(SUBSTITUTE(LEFT($A$3,FIND(TEXT(B$2,"aaa"),$A$3)),"毎",),"第",))))-1,))),"毎",CHAR(1)),ROUNDUP(DAY(B$2)/7,0),CHAR(1)))),"◎",""))  次に、B2~B3のセル範囲をコピーして、C2~AF3のセル範囲に貼り付けて下さい。  以上です。

100POINT
質問者

お礼

kagakusuki 様 ご親切に回答いただきありがとうございます 無事難問がご教授によって表示させることが出来ました 質問内容が曖昧でお手を煩わせ申し訳ございませんでした ご提案の事が一番したかった事で、浅い知識で勝手にB列に 項目追加したらなどと考えていました この方式ですと全く問題なく初期願望の計算式ができ感謝致します 本当に助かりまして業務効率が上がり助かります

その他の回答 (2)

回答No.2

補足に対する回答です。 最後の部分の  "")) を  ""), "") としてください。 頭に付け加えたIFのFALSE値が設定されていないため "FALSE" が返されてそれが表示されています。ですので、"" とすることで空白にします。

回答No.1

セルB3に第何週かを入力するとして、第1週が含まれているかを調べるには  =COUNTIF(B3, "*1*") とすると分かります。これを第2週、3週とする場合は "*1*" の部分を変えればOKです。 注意点として、文字列で判断しているので第1週のみの場合などは '1 とするなど文字列扱いにしておかないといけないです。 そして判定部分の頭に条件分岐を加えると、  C3=IF(COUNTIF(B3,"*1*")>0,   IF(COUNTIF(A3, "*" & TEXT(DATE(A1, A2, C2),"aaa") & "*" )>0, "◎", ""), "") となります。 これを1週間分ずつ用意して上げれば実現できると思います。

100POINT
質問者

補足

ありがとうございます 早速 B列を加え文字入力で1や2と入力し =IF(COUNTIF(B3,"*1*")>0,IF(COUNTIF($A3,"*"&TEXT(DATE($A$1,$A$2,$C$2),"aaa")&"*")>0,"◎","")) 入れて試しましたが FALSEが表示されます よろしくお願いいたします

関連するQ&A

  • エクセルについて(関数)

    A列に日付を入力すると、B列に曜日が表示するよう「=TEXT(A○,"aaa")」の関数を設定しました。 A列が無入力でも、曜日が表示されてしまいます。 A列が無入力の場合、B列に何も表示されないようにするにはどうしたら良いのでしょうか。 よろしくお願いします。

  • エクセル2010

    エクセル2010で条件付き書式設定をしようと思いましたらできません。 特に難しいことではなくてA列に日付を入れてB列に曜日を表示させました。 その時の数式は=text(A1,"aaa")の式です。 オートフィルで曜日を出した後に土曜日は「青」に日曜日は「赤」に 書式を設定しようと思ったのですがいろんなことをやって見ましたできません。 どなたかご存知の方、教えてください、よろしくお願いします。

  • 【エクセル】抽出データを上に詰めて表示させたい。

    重複するデータを上に詰めて表示さセル方法が解らないです。 B列はA列の元データから重複分は表示しないようにしています。 C列はA列の元データから重複分の数を数えています。 │A │B    │C│ D │ 1│あああ │あああ │3│ 2│いいい │いいい │2│ 3│あああ │     │ │ 4│ええ  │ ええ  │2│ 5│おおお │おおお │1│ 6│ええ  │   │ │ 7│いいい │  │ │ 8│あああ │  │ │ 9│うううう│うううう│1│ ・ ・ 上記のような表で、A列が元データで、 B列にはセルB1から、=IF(COUNTIF($A$1:A1,A1)>1,"",A1)という関数を オートフィルで下まで伸ばしています。 C列は、=IF(COUNTIF($A$1:A1,A1)>1,"",COUNTIF($A$1:$A$100,A1))と いう関数を使用しています。 そこで、B列C列の何も表示されていないセルを詰めて、上に詰めて 表示させたいです。マクロは良くわからないのでなるべく関数で お願いします。ちなみに、今使用している関数も、こうしたほうが いいというのがありましたら。訂正してもらえると助かります。 解りづらいところがありましたら、補足します。 宜しくお願いします。

  • 同じ数式ですが、Winでは曜日表示されるのに、Macでは表示されません。

    Excellについて質問致します。 =IF(CELL("contents",A4)>0,TEXT(CONCATENATE(TEXT($A$1,"#0"),"/",TEXT(A4,"#0"),"/",TEXT(表紙!$A$1,"00")),"aaa"),"") Windows版では上の方法で曜日を表示しています。 しかしこれをMac版に持って行くと、日月年が表示されてしまいます。 どうすればMacでも曜日表示に出来ますでしょうか?

  • エクセルファイルから曜日を差し込むと、シリアル値に変わってしまう

    エクセル2003 ワード2003です。 ・エクセルファイル A列に3月1日と入っています。 B列は、A列を参照し、「aaa」として「月」と表示させています。 これをワードに取り込むと、シリアル値に変わってしまいます。 A列は、フィールドコードを変更して「3月1日」に変更できましたが、B列の曜日の変更が、うまくいきません。 { MERGEFIELD "曜日" \@ "aaa" }ではうまくいきませんでした。 どこが悪いのでしょうか?

  • Excelで曜日を表示させると、「土」となるエラー

    Excelで、A1に日付を記入して、B1に曜日が表示されるようにB1に関数を =TEXT(A1,"aaa") または =CHOOSE(WEEKDAY(A1),"日","月","火","水","木","金","土") と入力したのですが、A1が空白だと「土」と表示されてしまいます。出来れば何も表示されないようにしたいのですが、 何か、解決する方法はあるのでしょうか? ご回答お待ちしております。よろしくお願いいたします。

  • Excelで0と1を非表示にしたい。

    Excel2010で商品管理票を作りたいと思っています。 (Windows7 32bit) 画像のようにA列に商品コードを記入した場合 B列に何回目かを表示したいのです。 初めての商品の場合は非表示で 2回目から2、3、・・・というように増やしたいのですが どうすればいいでしょう? 【やってみたこと】 =IF(COUNTIF($A$2:A2,A2)>1,"*","") の様な関数を入れれば 2回目以降に”*”が表示されますが、回数がわかりません。 =COUNTIF($A$2:A2,A2)-1 ですと2回目が1と表示されてしまいます。 ”0”は書式設定のユーザー定義で「G/標準;G/標準;」にして非表示にしました。 もっと他の関数を使うのか、セルの書式設定で解決するのかもわかりません。 どなたかご教示ください。 よろしくお願いします。

  • エクセル2010 お知恵を貸してください

    セルG1には、2012年7月 と入力しています。表示形式は「日付」の「2001年3月」を指定。 A列の表示形式は「標準」にしています。 セルA7には、1 セルA8には、2 セルA9には、7 ・・・・・というふうに入力しています。 セルB7に、 =IF(A7="","",$G$1+A7-1)  と関数を設定しています。(日付をシリアル値にしてある) そして曜日に変換したいので、表示形式をユーザー定義で aaa にしました。 結果は 日 とでます。 この日を赤色にする方法を教えてください。 (他の曜日の色は変えない) 条件付き書式でやってみたのですが、色が変わりませんでした。 A列を日付と認識させて曜日変換するとできるのですが・・・・・。 以上の設定で色を変えることができましたら、教えてください。

  • 2007EXCEL COUNTIF 複合

    countifを使用し、     A 1 ●●数×× 2 ●●語××     B 1 =if(countif(A1,"*数*"),"数学",if(countif(A2,"*語*"),"語学",)) という式で"数"が含まれていれば数学、"語"が含まれていれば語学、とB列に表示させるようにしています。 そこで、 A3に●●数××語とある際、"数学""語学"両方表示させるには どうしたら良いでしょう? countifではできないのでしょうか??

  • エクセルで2013年分の曜日の表示がズレてしまう。

    エクセルについての質問です。 B1に年(2013) D1に月(1)   を入力し、 A10から縦に日付けが入るようにし、 その横のB10以降B列に曜日が入るような表を作っています。 表示は A10・・・1 B10・・・月 A11・・・2 B11・・・火 A12・・・3 B12・・・水 というような形です。 数式は A10に =DATE(B1,D1,1) B10に =A10 A11に =A10+1 B11に =A11 セルの書式設定はA列が ユーザー定義 d B列が ユーザー定義 aaa にしています。 この方法で2012年までは曜日の自動入力(?)にズレはなかったのですが、 2013年分からは曜日がズレてしまい、 本来2013年1月1日は火曜日なのですが、表示されるのは日曜日になってしまいます。 どのようにしたら直りますか? ちなみにエクセルが2010を使っています。 どうぞよろしくお願いします。

専門家に質問してみよう