• 締切済み

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

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

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答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/8248)
回答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
  • ベストアンサー率65% (1618/2457)
回答No.4

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

  • kkkkkm
  • ベストアンサー率65% (1618/2457)
回答No.3

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

  • keithin
  • ベストアンサー率66% (5278/7940)
回答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

  • 値の参照について

    値の参照について windowsXP EXCELL2003です。 シートは「個人」 「検索」のふたつのシートがあります。 「個人」 J1 宿泊日 というタイトル J2 には日付を入れ ユーザー定義 yyyy/mm/dd です。 「検索」 お客さんがこられたらお名前を確認後、「個人」から参照するのですが 前回の宿泊日を参照するために J2 に次の数式を入れています。 =IF($A$2="","",VLOOKUP($A$2,個人!$A$2:$AD$2000,17,FALSE)) 「個人」  Q2 にまだ日付か入力されていないと 「検索」  J2 には 1900/01/00 と表示されます。 ご指導を仰ぎたいのは 「個人」 Q2 が未入力の時は 「検索」J2 空白 この 1900/01/00 が空白にすることは可能でしょうか 「個人」 Q2 が入力されると 「検索」J2 値を参照する もし可能ならばご教授いただけるとうれしいです。 よろしく御願いします。

  • Excelの条件付き書式、直接入力と参照した数値は違う?

    Excelの条件付き書式、直接入力と参照した数値は違う? Sheet1のA1セルの数値を Sheet2のA1セルが「=IF(Sheet1!A1="","",Sheet1!A1)」という数式で参照しています。 数値に、「%以上」という文字列を追加したいので、 Sheet2のA1セルの書式設定を、ユーザー定義で「0"%""以""上"」としています。 Sheet1のA1セルに数値を入力 → Sheet2のA1セルが参照 → ユーザー定義で「○%以上」と表示させる。 ・・・ここまでは簡単にできました。 さらに、数値が表示されたときにセルの色を赤くしようと、 条件付き書式で、 「セルの値が 次の値以上 0」 と設定したのですが、入力が無くても赤いままになってしまいます。 設定を、 「セルの値が 次の値以上 ="0"」とか、 「セルの値が 次の値より大きい 0」とか、 いろいろとやってみましたがどうしてもうまくいきません。 参照ではなく、セルに直接入力するのであればこれでうまくいっていましたので、簡単に出来るものだと思っていたのですが、 これはたぶん、私が根本的なことをわかっていないのだと思います。 ご教授頂けましたら助かります。

  • エクセルでエラーの値を表示させないためには?

    エクセルで月曜日の日付を入力すると火曜日以降の日付が 自動的に計算される数式を入れたのですが、 日付を入力することが分かりやすいように 月曜日の日付のセルをX/Yとすると、 当然ですが数式を入れたセルは エラー(#VALUE!)が表示されてしまいます。 X/Yと入力してもこの#VALUE!を表示されずに 空欄のままになるようにしたいのですが、 何か方法があれば教えてください。

  • Excelの表示について

    Excel2000を使用しています。 数式を「=A1*B1」とし、「セルの書式設定」~「表示形式」タブ~「ユーザー定義」で「(#);(-#);""」と設定しています。数字を()内に表示させています。空欄のセルは空欄表示させたいのですが、0.00と表示されてしまいます。空欄表示させる設定方法はないでしょうか。

  • エクセルで日付、時間表示

    お世話になります。エクセル2000を使っています。 セルの書式設定-ユーザー定義で以下の条件で表示させたいのですが・・・・ 日付データとして、日付のみのものと、時間も入っているデータを、 日付のみのものは日付のみの表示に、 時間も入っているものは日付と時間を表示する。 具体的には、ある一つのセルに 2003/07/26と入力した時 → "2003/07/26"と表示 2003/07/26 18:30と入力した時 →  "2003/07/26 18:30"と表示 ユーザー定義で、 yyyy/mm/dd yyyy/mm/dd hh:mm でそれぞれの表示はできますが、例えば 時間データのないものに、yyyy/mm/dd hh:mmと定義すると、"2003/07/26 00:00"と表示されて都合がよくありません。 文字データとして、前に「’」を付ければ表示のみはできますが、数値データとして使えません。 少し長くなりましたが、よろしくご教示ください。

  • エクセルで数式を入れても値が空欄になります

    タイトルの通りなのですが、 エクセルに数式を入れてもセルが空欄になって値が表示されません。 全く同じ数式を他のセルに入れると値が表示されるので 数式が間違っていることはないと思われます。 また、空欄になって値が表示されないセルにマウスをあてると 数式自体は入ってます。 時々、このような事象が起きるのですが どうやって改善すれば良いでしょうか?

  • 参照したセルの値をURLにする

    Excel2000です。 緯度、経度を入力し、その値を参照して別のセルにURLを表示し、その表示されたURLをハイパーリンクにする事は可能でしょうか? 例えば セルA1に「緯度」、セルB1に「経度」、セルC1に「="www."&A1&"."&B1」と入力すればセルC1の値は「www.緯度.経度」と表示されますが、そのC1の値をURLにして、地図サイトにリンクするようにしたいのです。表示はリンクしたいURLですが、数式バーには参照前の数式でリンクすることが出来ません。 よろしくお願いいたします。

  • エクセル2010 ユーザー定義の書式で表示したい

     新年、明けましておめでとうございます。    年明け早々にお世話になります。  "'"yy"年"mm"月"dd"日" の書式の西暦の日付に続けて、スペースなしでシート名を表示したいので、  お分かりになる方、ご教示よろしくお願いします。  例えば、日付が2014年1月2日(編集当日の日付ではありません)でシート名がABCDなら、  2014/01/02 のみの入力値に対して   '14年1月2日ABCD  をD6セルに表示させたいです。  現時点で、  =RIGHT(CELL("filename",A2),LEN(CELL("filename",A2))-FIND("]",CELL("filename",A2)))  を特定の書式を設定していないD8セルに入力して、D8セルにシート名の表示はできていますが、  日付を表示させようとして、ユーザー定義の書式でロックされていないD6セルに  'yy"年"mm"月"dd"日" を設定し、2014/01/02 を入力したところ、# が表示されて、  頓挫しています。  本来なら、D6セルに日付とシート名を表示させたいのですが、  D6セル、D8セルのいずれも  ユーザー定義の書式だと期待した表示結果が得られない状態です。  何故、日付表示さえうまく行かないのか、この点も解説頂けたら有難いです。  年明け早々にお手数で恐縮ですが、よろしくお願いします。

  • Excelの小数点表示について

    Excel2000を使用しています。 数式を「=A1*B1」とし、「セルの書式設定」~「表示形式」タブ~「ユーザー定義」で「(#);(-#);""」と設定しています。数字を()内に表示させています。空欄のセルは空欄表示させたいのですが、0.00と表示されてしまいます。空欄表示させる設定方法はないでしょうか。

  • 数式が表示されてしまう/値が表示されない/エクセル/

    先人の知恵をお貸しください。 エクセルで、既存のシート(自分ではない別の誰かが作成、つまりエクセルのバージョンは異なる可能性はある)に数式が入っています。数式といっても、単に別のセルの参照(eg. "=A1")なんですが、この数式を編集して別のセルを参照しよう(eg. "=A1"を"=B2"に変更)とすると、なぜか変更後はセルの表示が数式そのままになってしまいます。つまり再計算後のセルは"=B2"と表示されてしまいます。 ただし表示がおかしいだけで、きちんとそのセル(B2)を参照しているようです、F2をおしてからF9を押すと望みどおりの値を表示するので。 恐らく、ツール>オプション>表示>”数式を表示する”の状態になっていると思うのですが、それにチェックを入れた覚えもないし、実際入っていません。 また、F2を押して再編集するのではなく、ほかのセルをコピーして貼り付けた結果は、数式が表示されず、きちんと計算結果(参照先のセルの値)が表示されます。 大変わかりにくい記述で申し訳ないのですが、もし同じような症状になったことがあられる方がおれば、解決策を教えていただけると助かります。

専門家に質問してみよう