• 締切済み

赤文字の入ったセル数をカウントしたい。

real beatin(@realbeatin)の回答

回答No.7

No.6です。 > 想像するところ、解決できてない一因は、カレンダーを作成するに当たって、 > =DATE(M6,T6,Y6)-(WEEKDAY(DATE(M6,T6,Y6),1)-1) > のような関数を利用しているため、計算過程を表示させると、 > Prange欄にシリアル値が表示されるようなることが > 関係しているように思います。 "Prange欄"とは何でしょう?という疑問は残りますが、 その数式自体は、日付のx日前の日付を求める、という内容ですので、 戻り値がシリアル値、セルの表示形式が日付、 になるということでしたら、それは正常な動作ですね。 "解決できてない一因"として影響があるとは思えませんけれども。 > 残念ながら、今回は、未だ解決に至っておりません。 出来れば、条件付き書式のルールに設定した数式、を 提示して欲しかったのですけれども。 先に挙げたUDFのプロットを一段階だけ進めて、 数式の書き方に対する汎用性を高めてみましたので、 よければ、試してみて下さい。 (最初っから、こう書けばよかったのに、といった内容ですが) 具体的には、 数式内のセル参照を、相対参照として正しく書換える為に、 Application.ConvertFormulaメソッドに2回通しています。 論理値[TRUE|FALSE]を返す数式が正しく設定されていれば、 普通に使えるようになると思うのですが、、、。 > なお、日曜・祝祭日の合計値を、関数を利用して計算することは、自力でできますので、 > 取りあえず、そのように対処致します。 それが現実的な対応として十分なのであれば、 その方が安心でしょうね。 No.2にてtsubu-yukiさんご紹介のNETWORKDAYS.INTL()関数みたいな 無駄のないスッキリした数式が書けるように、 扱い易いシート設計を目指した方が良さそうにも思いますが、、、。 条件付き書式の設定内容について、一々再確認するのは面倒だけど、 条件付き書式のルールに設定した数式による判定を参照したい、 といったニーズに関する質問は、過去に数十件程度見たことがあります。 このうち、UDFで、というニーズは初めて見ました。 何故、UDFにする必要があるのか、という理由について、 今一度、ご自身で確認してみた方が総合的に吉なような気がします。 経験的を踏まえての想像ですが、 シート設計に難がある、といった場合である可能性が高いような、、、。 以下、改良版です。 シート上では、  =CountDisplayFontColor(G20:S20,3) のように数式を設定して使います。 ' // Function CountDisplayFontColor(Target As Range, ColorIdx) Dim c As Range Dim oFormatCondition As FormatCondition Dim sFormula As String Dim cn As Long Dim flg As Boolean   For Each c In Target     flg = False     For Each oFormatCondition In c.FormatConditions       If oFormatCondition.Font.ColorIndex = ColorIdx Then         sFormula = oFormatCondition.Formula1         sFormula = Application.ConvertFormula( _                 Formula:=sFormula, _                 FromReferenceStyle:=xlA1, _                 ToReferenceStyle:=xlR1C1, _                 RelativeTo:=oFormatCondition.AppliesTo(1))         sFormula = Application.ConvertFormula( _                 Formula:=sFormula, _                 FromReferenceStyle:=xlR1C1, _                 ToReferenceStyle:=xlA1, _                 RelativeTo:=c)         If Evaluate(sFormula) = True Then           flg = True           Exit For         End If       End If     Next     If Not flg Then flg = c.Font.ColorIndex = ColorIdx     If flg Then cn = cn + 1   Next   CountDisplayFontColor = cn End Function ' //

関連するQ&A

  • 曜日が日曜になるとセルが赤

    Excel2003です、A1に=today()で日付です、B1は曜日です、日が変わると日付、曜日は変化しています、曜日が日曜になるとセルが赤になる方法お願いします

  • Excelの条件付き書式設定で、日のみ文字色を赤にしたい

    セルAnに年月日を入力し、セルBnにその曜日(日,月,火,etc)を表示させるようにしました。 ・Bn選択→書式→セル→表示形式→ユーザー定義→aaa 次に、"日"のみ文字色を赤くするために、つぎの条件付き書式設定(2通り)を行いましたがうまく行きません。 (1)セルの値が→次の値に等しい→aaa,書式→フォント=赤 (2)セルの値が→次の値に等しい→日,書式→フォント=赤 上記の誤り、または別の方法を教えてください、

  • 日曜、祭日をカウントする

    勤務表をweekday関数で月間カレンダーをsheet1に作成しております。 別のshee2に祭日を作成して、条件つき書式でsheet1に日曜・祭日は赤になるように設定しました。赤色をカウント(VBAで作成)しようしても、条件付き書式では、赤をカウントしません。セルを選択後、塗りつぶしたセルはカウントしますが。 祭日.日曜日の勤務時間合計を計算したいのです。 row1列に2009/4/1から2009/4/30まで入力 row2列に(=text(A1,"aaa")で曜日入力してます。 row3列に時間を入力しております。 column1行には担当者指名入力しています。 日曜祭日にはrow1で日曜。祭日は赤に塗りつぶします。 よろしくお願いします。 ※条件つき書式の塗りつぶしの色とセルの塗りつぶしは違うのでしょうか?回答いただいた自作のFunction関数を使用しました。

  • excelセルの文字変更

    excelセルの文字変更 「2011年のカレンダー テンプレート Microsoft Office」から、ダウンロードしたカレンダーの 任意の日の背景色と文字の大きさを変更したのです上手く行きません。 通常の変更で出来てはいるのですが、エンターキーを押すと元の大きさに戻ってしまいます。 どの様にすれば変更出来るのでしょうか? Windows7でexcel2007使用です。 よろしくお願いします。

  • なぜ土曜日が青?

    日本の一般的なカレンダーでは月曜日から金曜日までが黒などのシックな色、土曜日は青、日曜日と祝祭日は赤で塗り分けられていることが多いですよね? いつ頃から?どんな理由?で土曜日が青、日曜日と祝祭日が赤になったのかと、日本以外のカレンダーも同様の塗り分けがされているのか教えて下さい。

  • Excel2010 セルのカウント

    Excel2010で、E4~G103の範囲内に、M3~M17に入力された文字列のいずれかを含む言葉が入力されています。さらに、E4~G103の範囲内には、色のついているセルとついていないセルがあります。 E4~G103の中で、色がついていて、かつM3に入力されている文字列を含む言葉の個数を、N3に返すにはどのように対応すればいいでしょうか。 よろしくお願いします。

  • Excel 特定の文字色だけを変更したい

    Excel2000を使っています。 ある表を作成中、フォントを青文字と赤文字でリストを作っていました。 が、複数人数で作業をしていた為、フォントの「青文字」が「青」と「薄い青」で作成されてしまいました。 ところどころに「赤」のフォントもあります。 同じセル内での文字色は1色です。 リストの量が多いため、ひとつひとつセルをクリックして「薄い青」を「青」にしていくのが難儀です・・・ 「薄い青」を「青」にどうにか簡単に変更できないものでしょうか? と、この説明で伝わるでしょうか・・・。 知恵を貸して頂けたら、と思います。よろしくお願いします。

  • 日にちのカウント

    1か月(添付 7月)の日曜日と祝日を除いた日数を セルE37にカウントしたいのでが教えてください。 関数のことはよく解らないので、説明を添えていただくとうれしいです。添付のカレンダーも教えて もらい作りました。宜しくお願いします。

  • 数式の入っているセルに文字入力

    エクセル2003を使っています。 数式(関数)の入っているセルに文字入力はできないでしょうか。 エクセルでカレンダーを作っているのですが、 ボックスカレンダーで関数で年月を入力したら 日にちが入るように関数を入れています。 1月のカレンダーで1と日付が入ったセルに 元旦と文字を入力したいのですが できるのでしょうか? できるとしたら どうしたらいいのでしょうか?

  • 月カレンダー作成中。文字の色を変えたい…

    よろしくお願いします。エクセル2010バージョンです。 月カレンダーを作成しています。セルに日付を入力(たとえば2012/08/30)と入力したのち、 カレンダー内の日にち(数字1~31)の文字色を土曜日・日曜日のみ赤に変える手法を教えてください。 セル内の背景色を変えるのではなく、文字の色を赤にしてみたいのです。 ところが、条件付き書式の設定がわからずここで止まってしまいました。 なおカレンダー日付の月初1(日)を表示するセルには、=IF(A1="","",A1) と入力しています。 A1に日付を入力。 カレンダー日付の翌日2(日)は、=IF(A4="","",IF(DAY(A4+1)=1,"",A4+1)) と入力しています。 A4は 日付の1(日)を表示しているセルです。 このように3(日)、4(日)・・・とコピペで作成しています。 ところが、条件付き書式の設定をどのようにするかで止まっています。 条件付き書式の部分をどのように設定したらいいか、ご教示下さい。 この条件書式の設定がどうも苦手なので、この部分は一手一手わかりやすく教えていただければ嬉しいです。 よろしくお願いします。