• 締切済み

EXCELで値ではなく表示されている文字を参照

値ではなく、表示されている文字を参照することは出来ますか? 具体的にはスケジュール表を作りたいのですが、基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 その場合、1行目に月が並んでしまうので、月が変わらなければ空欄にしたいのですが、値自体は変わってしまうので条件式が書けません。 実際の値を無視して書式として表示されているものが一致していれば空欄という数式は可能でしょうか?

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.9

とりあえず条件付き書式は使いたくなくて全部数式でヤリタイなら 1.A2セルに基準日を「年/月/日」で記入,必要に応じてmmの表示形式を付ける 2.A3セルに =A2 と記入,ddの表示形式を付ける 3.B3セルに =A3+1 と記入,ddの表示形式を付けて右にコピーする 4.B2セルに =IF(MONTH(A3)=MONTH(B3),"",MONTH(B3)) と記入,右にコピーする。

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.8

>基準となるセルに日付を入力し書式を「ユーザー定義」でmmにしています。それを横のセルに+1で翌日、下のセルに=で書式ddとして日付を連続して入力しています。 月を表すセルを基準にするからうまく処理ができないのです。 日を表すセルを基準にすれば簡単な数式で目的通りになります。 A3セルに2014/11/17と日付を入力し、表示形式を"dd"または"d"にします。 A2セルは先頭なので単独で次の数式を使います。 A2=A3 表示形式は"mm"または"m"とします。 B2セルはA3セルとB3セルの月末の日付をチェックして同じのときは空欄("")とします。 B2=IF(EOMONTH(B3,0)=EOMONTH(A3,0),"",B3) 表示形式は"mm"または"m"とします。 B2セルを右へ必要数コピーすれば目的に合います。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.7

ANo.1です。 > 土日祝日に背景色を付けたかったりするとルールが膨大になってしまうため、他の方法を模索しています。 土日祝日の背景色用条件付き書式を3行目以降にすれば複雑ならずに済みます。 シンプルな方が後々のメンテナンスが楽だと思いますよ。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.6

こんばんは! すでに色々やり方は出ていますので、参考程度で・・・ ↓の画像で「基準となるセル」はA3としています。 A3セルにシリアル値を入力 → セルの表示形式はユーザー定義から dd としてください。 次にA2セルに =MONTH(A3) A4セルは =A3 としておいて表示形式をユーザー定義から aaa とします。 そしてB2セルに =IF(COUNTIF($A2:A2,MONTH(B3))=1,"",MONTH(B3)) B3セル(セルの表示形式は dd としておく)に =$A3+COLUMN(A1) B4セルはB3セルをそのままフィルハンドルでドラッグしておき、 最後にB2~B4セルを範囲指定 → B4セルのフィルハンドルで右へコピーすると 画像のような感じになります。m(_ _)m

  • eden3616
  • ベストアンサー率65% (267/405)
回答No.5

基準の日付を入れるセルを「A3」とします。 日付の範囲(その月の開始日である1日から、その月の末日)までの範囲であるかを判定します。 末尾はシリアル値で翌月の開始日(1日)から1日を引いた日としています。 (1)基準セル セルA3:「2014/11/17」とします (2)基準セル以降の日付セル セルB3~R3:セルB3に「=A3+1」を入力して右方向へオートフィル (3)月の行(2行目) セルA2~R2:A1に以下の数式を貼付けて右方向へオートフィル =IF(SUMPRODUCT(($A$3:A3>=--DATE(YEAR(A3),MONTH(A3),1))*($A$3:A3<=--DATE(YEAR(A3),MONTH(A3)+1,1)-1)*1)=1,MONTH(A3),"") (4)曜日の行(4行目) セルA4~R4:セルA4に「=TEXT(A3,"aaa")」を入力して右方向へオートフィル (3)の数式において、その月の始まりの日かどうかを判定するための日付範囲(A3~R3)を指定しています。 開始列がA列以外になる場合は「$A$3:A3」の「$A$3」を変更してください(2箇所)。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.4

間違いがありました A2に =IF(MONTH(A2)=MONTH(B2),"",MONTH(B2)) A2を右に必要なだけけコピペしてください。 ↓ B1に =IF(MONTH(A2)=MONTH(B2),"",MONTH(B2)) B1を右に必要なだけけコピペしてください。

  • kkkkkm
  • ベストアンサー率66% (1719/2589)
回答No.3

画像のような感じでしょうか。 A列の書式を標準に戻して A1に =MONTH(A2) A2に =IF(MONTH(A2)=MONTH(B2),"",MONTH(B2)) A2を右に必要なだけけコピペしてください。 ちなみにA3には =TEXT(A2,"aaa") として右にコピペしてます。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

手順: B2から(←間違えないこと)H2を選択,必ずB2セルがアクティブセル(選択範囲の中で逆反転状態になっているセル)になっている事を確認する(必須) ホームタブから条件付き書式▼で新しいルールを開始 数式を使用して…を選び =(B2<>"")*(MONTH(A2)=MONTH(B2)) と記入,書式ボタンで表示形式を選び ;;; と設定してOKする。

himemoco
質問者

補足

ありがとうございます。 条件付き書式は少し苦手なのでできれば避けたいです。 いただいた回答を参考に下記のような数式を編み出したのですが、C1以降のセルが付いてこれませんでした。 =IF(MONTH(A1)=MONTH(A1+1),TEXT(A1+1,";;;"),TEXT(A1+1,"mm")) これを数式で連結できるように出来たらベストだと思っています。

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

現在の数式はそのままで、条件付き書式で同月のフォント色を白で表示する方法ではどうでしょう。 B2の条件付き書式の数式を↓にして成立時のフォント色を白にします。 =(MONTH(A2)=MONTH(B2))

himemoco
質問者

お礼

ありがとうございます。その方法は思いついたのですが、土日祝日に背景色を付けたかったりするとルールが膨大になってしまうため、他の方法を模索しています。

関連するQ&A