• ベストアンサー

【Excel】日付以外で隣りのセルに別の言葉を表示

以前、入力した日付に応じて別のセルに本日とか明日と表示させたいと質問したものです。 色んな方のお知恵をお借りして、下記のように入力することで解決致しました。 =IFERROR(IF(AND(A1<>"",E3<TODAY()),"期限切",IF(AND(A1-TODAY()>2,E3-TODAY()<8),"今週",IF(A1-TODAY()>7,"予定",CHOOSE(A1-TODAY()+1,"本日","明日","明後日")))),"") 詳細はこちらで→ https://okwave.jp/qa/q10194294.html そこで更に質問です。 今現在は、A1のセルに日付を入力するとB1のセルに本日とか明日とか出るようにしているのですが 今までのものに加えて、日付以外の文言(例えば「終了」とか)を入れた場合に、「完」と表示させることは可能でしょうか。 可能であればやり方を教えてください。A1セルと同じ言葉をB1に表示させるでも良いです。 それか、日付でなければなにか文言が入るとかでも良いです。 日付以外の文言は1種類(終了)だけを想定していますが、複数種入れられるのであればそのやり方も教えて頂けると助かります。 要はA1セルに入力する内容によって、下のように表示できるようにしたいということです。 A1セル B1セル 2023年11月4日 期限切 2023年11月6日 今日 2023年11月7日 明日 2023年11月8日 明後日 2023年11月10日 今週 2023年11月18日 予定 終了 完 よろしくお願いします。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率65% (1625/2467)
回答No.1

日付以外を入力した場合(数値も日付と認識されます) =IFERROR(IF(ISERROR(VALUE(A1)),"完",IF(AND(A1<>"",E3<TODAY()),"期限切",IF(AND(A1-TODAY()>2,E3-TODAY()<8),"今週",IF(A1-TODAY()>7,"予定",CHOOSE(A1-TODAY()+1,"本日","明日","明後日"))))),"") 終了など文字を入れた場合 終了、終了2、終了3としています。 =IFERROR(IF(OR(A1="終了",A1="終了2",A1="終了3"),"完",IF(AND(A1<>"",E3<TODAY()),"期限切",IF(AND(A1-TODAY()>2,E3-TODAY()<8),"今週",IF(A1-TODAY()>7,"予定",CHOOSE(A1-TODAY()+1,"本日","明日","明後日"))))),"") 式の中でE3が出てきてましたのでそのままです。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • chie65535
  • ベストアンサー率43% (8536/19407)
回答No.5

ANo4の式の解説。 A1が日付(日付シリアル値、つまり「数値」)か、そうじゃないかを、IFで場合分けします。 ・数値の場合 A1が過去だったら、数値「3」を計算 A1が3~7日後だったら、数値「4」を計算 A1が8日以上後だったら、数値「5」を計算 A1が今日~明後日だったら、数値「6~8」を計算 ・数値じゃない場合 A1が空白だったら、数値「2」を計算 A1が「終了1」だったら、数値「9」を計算 A1が「終了2」だったら、数値「10」を計算 A1が「終了3」だったら、数値「11」を計算 A1が上記のどれでもなかったら、数値「1」を計算 これで、A1に何が入っていても「1~11」の数値が計算されます。 その「1~11」の値をもとに、CHOOSE関数で、対応する文字列に変換しています。 これは「条件式は、真なら数値の1、偽なら数値の0として数値計算できる」という仕様を利用しています。 成り立つ時はどれか1つしか成り立たない3つの条件式を 条件式1*1+条件式2*2+条件式3*3 というような式で書くと、 ・どれも成り立たない時は0 ・条件式1が成り立つ時は1 ・条件式2が成り立つ時は2 ・条件式3が成り立つ時は3 という、0~3の数値に出来ます。これに1を足して「1~4」にすれば、CHOOSE関数のインデックス(1以上の整数を指定する)に使える訳です。 複数の条件が同時に成り立つ可能性がある場合は 条件式1*1+条件式2*2+条件式3*4+条件式4*8 のように、1、2、4、8倍して足します。これで求まる値は0~15になります。上記同様に1を足せばCHOOSE関数に使えます。

全文を見る
すると、全ての回答が全文表示されます。
  • chie65535
  • ベストアンサー率43% (8536/19407)
回答No.4

簡単に追加が出来るようにしてみました。式がかなり長いですが。 =CHOOSE(IF(ISNUMBER(A1),(A1<TODAY())*2+(A1-TODAY()>2)*(A1-TODAY()<8)*3+(A1-TODAY()>7)*4+(A1>=TODAY())*(A1-TODAY()<3)*(A1-TODAY()+5),(A1="")+(A1="終了1")*8+(A1="終了2")*9+(A1="終了3")*10)+1,"エラー","","過去","今週","予定","今日","明日","明後日","完1","完2","完3") この数式の「(A1="終了1")*8+(A1="終了2")*9+(A1="終了3")*10)」の部分が、「終了1」を「完1」に、「終了2」を「完2」に、「終了3」を「完3」に変換する為の数式です。 CHOOSE関数の9番目、10番目、11番目の文字列の「完1」「完2」「完3」に対応します。 式の「+(A1="終了3")*10)」の後ろに「+(A1="終了3")*10)+(A1="終了4")*11)+(A1="終了5")*12)」のように追加し、「,"完1","完2","完3"」の後ろにも「,"完1","完2","完3","完4","完5"」のように追加すれば、幾らでも増やせます。 「終了1」と「終了1」のように、数字部分が半角全角どちらでも反応するようにするには「(A1="終了1")*8」を「((A1="終了1")+(A1="終了1"))*8」に変更して下さい。

全文を見る
すると、全ての回答が全文表示されます。
  • chie65535
  • ベストアンサー率43% (8536/19407)
回答No.3

=IF(A1="終了","完",IFERROR(IF(AND(A1<>"",E3<TODAY()),"期限切",IF(AND(A1-TODAY()>2,E3-TODAY()<8),"今週",IF(A1-TODAY()>7,"予定",CHOOSE(A1-TODAY()+1,"本日","明日","明後日")))),""))

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

前の見てないので、勘違いしてたらごめんなさい。 式が長くなりそうなので、作業列を設けました。 B1 に、基準になる日付を入れるようにして B2以降に =A2-$B$1 C1 に、=WEEKNUM(B1) C2以降に =WEEKNUM(A2)-$C$1 D2以降に =IF(B2<-1,"",IF(B2<0,"昨日",IF(B2 =0, "今日", IF(B2=1, "明日", IF(B2=2,"明後日",""))))) E2以降に =IF(C2<-1,"以前",IF(C2<0,"先週",IF(C2 =0, "今週", IF(C2>1, "以後", IF(C2>0,"来週",""))))) F2以降に =IF(ISERROR(D2), "完了", IF(D2="", E2, D2)) 作業列は、B,C,D,E列を選択して Shift+Ali+→ で 列の上に ”-”(マイナス)が表示されるので、 クリックすると、見えなくなります、そして ”+”(プラス)にかわります。 戻すときは、”+”を、クリックすれば戻ります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで、セルに'1'が入力されたら、そのセルに今日の日付を入れる

    Excelで、セルに'1'が入力されたら、そのセルに今日の日付を入れる方法。 をしらべているのですが、分かりません。A1セルに =IF(A1="1",=TODAY(),"") と入力すると、循環参照でエラーになってしまいます。 どのようにすればよいのでしょうか?

  • 【Excel】日付によって本日、今週、過去等と表示

    Excelで、例えばA1のセルに日付を入力したとします。 するとB1のセルにA1二入力した日付と今日の日付との日数差に応じて「本日」とか「明日」(今日より1日後の日付の場合)「明後日」(今日より2日後の日付の場合)「今週」(今日より3~7日後の日付の場合)「予定」(今日より8日以降の日付の場合)「過去」(今日以前の日付の場合)等と自動で表示させ事ってできるんでしょうか? できるならやり方を教えてください。 よろしくお願いします。

  • 10年経過した日付のセルに色付け

    office365 使用しております ・セルA1に本日の日付を表示さすようにしています。=TODAY() ・B列に “入荷日付” が入っていて、ブランクもあります。 ブランクのセルはそのままで 入荷日付から10年経過したセルに色を付けたいです。 お詳しい方、ご教示お願い致します。

  • Excel関数で任意の日付を表示させるには?

    Excel関数を用いて、任意の日付を表示させる方法を 教えていただけますか? 例えば、今日からちょうど1年半後の日付を 知りたい場合、セルA1に今日の日付 20040829 と入力すると、セルB1に 20060229 と表示させるような関数は、何をどのように 使えば良いのでしょうか? date という関数を試してみたのですが、 「日」は加算できるのですが、 「年」や「月」に+1、+6と入力しても、 「日」の方に加算されてしまい、 うまくいかないんです。 良い方法を御存知の方がいらっしゃいましたら、 ご回答、よろしくお願いします。

  • あるセルにデータが入力された日を表示

    A列(A1)のセルにデータが入った場合、D列(D1)にそのセルに データが入力された日付を表示させたいのですが、どのように やったらいいでしょうか?TODAY関数を使うと毎回更新されて しまいます。 TEXT関数+TODAY関数で出来るかな?と思ったのですが、 =TODAY()を使うとセルに入力された日でなくて、ファイルを開いた 日付に毎回更新されてしまいます。 A列のセルにデータが入った時にD列にその入力日を表示させたい のです。こういう事は簡単に関数を使って出来ませんか?わかる方 がいれば教えてください。

  • EXCEL: 日付を残す関数

    どなたか教えてください。 伝票明細に度々同じような編集を加えるので、自動的に編集した日付を履歴として残すようにしたいのです。 ↓ 明細行の一番左側(A5)に、プルダウンリスト(入力規則)から「入庫」または「出庫」を選ぶと、自動的にとなりのセルにその日の日付が入力されるようにする。 私が考えたのは、次のとおり。 (B5)にひとまずToday関数を入れる。→(C5)に次の関数を入れる。 C5=IF(OR(A5="入庫",A5="出庫"),B5,"") けど、これじゃ値ではなく数式をもってきちゃうので、別な日に開くと日付が更新されてしまうのです。 どうすればよいですか?よろしくお願いします。

  • エクセル2010 日付を入力したら自動的にセルにも

    エクセル2010を使っています。 日付の入力について教えて頂けませんか? 画像の様にA1セルに、本日の日付を入力したとします。 その後、自動で7つのセルに勝手に日付が入力されるようにしたいのです。 ポイントは今日から遡って表示されるというところです。 ご存知の方よろしくお願いいたします!

  • 本日の日付のセルの色を変えたいのですが・・・

    はじめまして、エクセルで在庫表を作っています。 A列は空白 B列に使用日 C列に前日在庫 D列に使用数 E列に仕入数 F列に差引在庫数 といった簡素なものですが、一ヶ月分の表を作ると ちょっとわずらわしくなってきます そこで、本日の日付のセルの色を変える関数がないかどうか調べてみました。 このページの内容が近いかな?と思いhttp://homepage1.nifty.com/kenzo30/ex_kisotyu/ex_ks_tyukyu9_9_1.htm 下段のほうの=DAY(TODAY())という関数を試してみました。 12月17日の日付を打ち込んでみると、変わりません・・・ ですが17と打ち込むと1900年1月17日の日付が入力され、セルの色が変わりました・・・ この関数では本日の日付のセルの色を変えることは出来ないのでしょうか? どうかお分かりの方いらっしゃいましたらご教授お願いいたします。

  • Excel2000で任意の日付から3日後になるとセルを赤色表示するには?

    A1セルに2006/1/7と入力し その3日後の2006/1/10になった時点で A1セルを赤色表示したいのです。 2006/1/11以降は色表示なしの状態に。 条件付き書式で セルの値が次の値に等しい A1+3 書式パターン赤 にしてもダメでした。 また、別の質問ですが、 任意日付の30~37日後、60~67日後になったら それぞれの期間だけセルに色づけするには どのようにすればよいのでしょうか?

  • 2つのセルを一つに・・しかし、日付のセルが数値に変わってしまう

    セルには     A        B      1 2005年5月   修正あり  と入力されています。 C1に、AとBに入っている文字をつなぎ合わせ、更に結合した部分を:で区切ろうと思い、C1セルに「A1&":"&B1」と入れました。 すると、C1に 36647:修正あり と出てしまいました。 日付が数値に切り替わっちゃったのですが、日付は日付で数値に切り替わらないようにする方法はありますか? 500行ぐらいあるので・・お願いします。

専門家に質問してみよう