• ベストアンサー

条件付書式で「他のワークシートまたはブックへの参照は使用しません」

条件付書式(の数式の方)で 数式に、 =NETWORKDAYS(TODAY(),$B28)<=4 といれると、 「抽出条件 条件付書式で、他のワークシートまたはブックへの参照は使用しません」というエラーになってしまいます。 これがなぜなのか、また、回避策を教えてください。 他のシートやブックへの参照なんてしてないんですけど。。。 やりたいことは、条件付書式の条件で 今日から数えて、平日日数で3日後までならば、という条件を書きたいです。 Bの列(上記の例ではB28)には日付が入っております。 なお、 =NETWORKDAYS(TODAY(),$B28) そのものは、 単純にセルに入力するときちんと認識されます。 (分析ツールアドイン組込み済み) よろしくお願いいたします。

noname#166246
noname#166246

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.3

(1)セルC28に、     =NETWORKDAYS(TODAY(),$B28)    を入れ、必要行だけコピーする (2)次に、条件付書式を設定したいセル範囲を選択後、    条件付書式設定ダイアログで     式、 =$C28<=4    を入れる --------------------------------------------------    因みに、 分析ツールアドインは、"FUNCRES.XLA"というブックです。 で、「他のブックを参照してるよ」となるのです。 以上です。  

noname#166246
質問者

お礼

ご回答ありがとうございます。 うまく行きました! 言われてみれば、そりゃそうだなあという感じです。。。 条件付書式に関数が入らない時点で思考がストップしてました。 また、 > 分析ツールアドインは、"FUNCRES.XLA"というブックです。 > で、「他のブックを参照してるよ」となるのです。 こちらもすっきりしました。 勉強になりました。 ありがとうございました。

その他の回答 (4)

回答No.5

28行目の任意のセルにおいて [Ctrl]+[F3]名前の定義 名前 : 実働 参照範囲 : =NETWORKDAYS(TODAY(),$B28) と名前を定義する [Ctrl]+[G]ジャンプ B3:B100 と入力し、セル範囲を選択する [Alt]+[O]-[D]条件付き書式の設定  数式が =実働<=4 空白セルの処理はしていませんので適宜追加してください

noname#204879
noname#204879
回答No.4

》 回避策を教えてください。 式 =NETWORKDAYS(TODAY(),$B28) を入力したセルを参照させたら如何かと。例えばそのセルを X28 とすれば、 [条件付き書式]の数式に、=$X28<=4 を書くのです。 X28 の式を =NETWORKDAYS(TODAY(),$B28)<=4 とすれば、 [条件付き書式]の数式に、=$X28 を書くのです。

noname#166246
質問者

お礼

ご回答ありがとうございます。 No.3 と同じご回答ですね。 うまく行きました。 ありがとうございました。

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

No.1です! たびたびごめんなさい。 先ほどの数式欄の式がすこし違っていました。 =B3=実働 と必ず最初に「=」を入れてください。 どうも何度も失礼しました。m(__)m

noname#166246
質問者

お礼

ご回答ありがとうございます。 > 条件付書式の条件に「分析ツール」(WORKDAY・EDATE・EOMONTH等々)の関数は使えませんので これがエラーの原因ですねー。 Excelもそう言ってくれればいいのに。 他のシートやブックへの参照があるとか言って。 アホExcelめ。 原因はわかりました。ありがとうございます。 さて、名前定義での方法なのですが、、、 B列は日付が羅列してあり、こんな感じです。 ・・・ 10月24日 10月25日 10月26日 10月27日 10月28日 10月29日 10月30日 10月31日 11月1日 11月2日 11月3日 11月4日 11月5日 11月6日 11月7日 11月8日 (文字列ではなくいわゆる日付(シリアル値)) で、(今日からの)3日後までのそのB列そのものの書式を変えたいということです。 ご回答の、 > 書式設定したいセルを範囲指定(仮にB3~B100を範囲指定したとします。) > 数式が → 数式欄に B3=実働 と入れればOKです。 なのですが、実働という名前をたとえば、 =NETWORKDAYS(TODAY(),$B28)<=4 というセルにつけますと、 どのB列の日付に対しても$B28というひとつのセルの日付で 判定が行われてしまいます。 $B28のセルに対する判定はこれでよいのですが、 B29に対してはB29の日付で判定していきたいのです。 B列のセルそれぞれの判定式のセル(たとえばC列に作ったとして) に対してひとつひとつ名前をつけるのはナンセンスですので。 名前については定数みたいなものにしかつけたことがないのですが、、、 こちらの回避策がお分かりになれば、ご助言願えませんか?

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

こんばんは! 質問の数式の詳しい内容は判らないのですが・・・ 条件付書式の条件に「分析ツール」(WORKDAY・EDATE・EOMONTH等々)の関数は使えませんので 方法としてはその数式が入っているセルを選択し、 挿入 → 名前 → 定義 から名前定義します。 どんな名前でも良いのですが、仮に「実働」と名前定義したとすると 書式設定したいセルを範囲指定(仮にB3~B100を範囲指定したとします。) 数式が → 数式欄に B3=実働 と入れればOKです。 必ず範囲指定した一番左端・一番上側セル番地を入れます。 元のデータがどのようになっているか判らないので この程度しかお答えできませんが、 参考になれば幸いです、 他に良い方法があれば読み流してくださいね。m(__)m

関連するQ&A

  • EXCELの条件付書式で他のシートを参照範囲にする

    EXCEL2000です。 sheet1のA列の値が0より小さい場合に、sheet2のB列の同じ行に色を付けたいのですが、うまくいきません。 条件の「数式が」に 「=sheet1!A1<0」とすると「他のシートは参照範囲とできません」とエラーとなり、 「=INDIRECT("sheet1!A1")<0とすると、書式のコピーをしたときに A1、A2、・・と参照先が変わらないので困っています。

  • 【Excel】他のブックにセルをコピーする際、条件付書式もコピーしたい

    【環境】 OS:XP SP2 Excel:2003 ブックA・シートAのセルA1には条件付書式が設定されています。 そのセルA1を、別のブック(ブックB・シートB)のセルA1にコピーすると、 条件付書式は引き継がれません。 引き継ぐ(条件付書式も同時にコピー)する方法はありますでしょうか? よろしくお願いします。

  • 条件付書式のコピー

    条件付書式で質問させていただきます。 A1に2007/12/1と入れ(表示は「1日」と表示されます。)B1,C1・・・と連続データで約8ヶ月先までの日付が入っています。 やりたいことは今日の日の列だけ別の色にするということです。 そこでまずA列を20行ぐらい選択して、条件付書式から 「=AND(MONTH(TODAY())=MONTH(A1),DAY(TODAY())=DAY(A1))」 としたまでは良いのですが、これを横にコピーしていっても参照するのはA1で意味がありません。 参照先を1つづつずらしていくにはどのようにすれば良いのでしょうか? またそんなことしなくてもこんな方法があるというのがあれば教えてください。 よろしくお願いします。

  • 条件付書式と相対参照

    条件付書式についての質問です。 たとえば、A1:D5の範囲を選択し、書式→条件付書式→数式 A1=1 と入力します。 つまりA1に1と入力されたら、選択した範囲のセルに色がつくようにという指示です。 ところが、このA1を絶対参照にすると確かに選択範囲に色はつくのですが、これを相対参照にするとA1のセルしか色がつきません。 また $A1 と、A$1 にしても、色のつく範囲が微妙に変わります。 これはいったいなぜなんでしょう? A1 に入力したら、選択範囲のセルの色が変わるようにすればどうすればいいのでしょう? この A1 は、ほかのセルにコピーしていくので相対参照にしたいです。

  • 条件付書式について

    エクセルの条件付書式は3つの条件までしか条件を決めれないのでしょうか?  (1)数式が =$b1="日" c1:e1を塗りつぶす  (2)数式が =$b1="水" e1:d1を塗りつぶす  (3)数式が =$b1="金" d1を塗りつぶす  (4)数式が =$b1="土" e1:d1を塗りつぶす 上記の4つの条件を入れて指定のセルを塗りつぶしたいのですが、、、(2)(4)は塗りつぶすセルは同じなので、 数式が =$b1="水""土" とまとめれば条件は3つになるのでうまくいくように思うのですが。 宜しくお願いします。

  • 条件付書式 「含むなら」としたい

    数式が =$A1=1  だとA2だけが該当しますが 数式が=$A1 like 1 だとエラーになってしまいます。 条件付書式は含むという条件は出来ないのでしょうか? よろしくお願いいたします。

  • エクセル条件付書式設定にて…

    エクセルにて質問です。 この間、質問させて頂いたのですが内容が不完全だった為、再度教えてください。 もしR11に何もなければ(空欄なら)→ のA11からBP12までのセルを薄い灰色で塗りつぶす という複数セルの塗りつぶしについての質問で A11BP12までを選択し条件付書式設定で、=$R$11=””で解決した様に思ったのですが… (上記は全てSheet2です) 何もなければ、のはずだったのですが、R11はSheet1のJ57が参照されていました。 Sheet1のJ57に何も入力されていないので、Sheet2のR11にはなにも表示されていないですが、『=Sheet1!J57』と数式バーに表示されていました。 R11が"" ブランクとは認識されず上手くいかなくて困っています。 また、条件付書式設定では他Sheetは参照できないみたいなのです。 こういう場合はどうすれば良いのでしょうか??? わかるかた教えてください。 よろしくお願いします。

  • EXCEL2003 別シートを参照する条件付書式のINDIRECTの使

    EXCEL2003 別シートを参照する条件付書式のINDIRECTの使い方 いつもお世話になっております。 別シートを参照する条件付書式のINDIRECTの使い方について教えてください。 現在シートが2枚(表とLIST)あり表のH列がブランクではない時に I5:U6に条件付書式を入れたいと思っています。 シート構成は以下の通りです。 -------------------------------------------------------------- 設定したい条件(例:I4/4月度の氏名:「ああ」の場合) H5がブランクではない時 シート:表のI5の値(320)が シート:LISTのBK3より(設定された値/4月度の氏名:「ああ」は293)より 大きい場合に赤の太文字にしたい -------------------------------------------------------------- ブランクではない場合はH5<>"", LISTの値を見る(ああの4月の値を出す)数式は 以下の式を使ったことがあるのですが =SUMPRODUCT((LIST!$BF$3:$BF$147=F5)*(LIST!$BK$2:$BV$2=I4)*(LIST!$BK$3:$BV$147)) この組み合わせ方や別シートを参照するINDIRECTの使い方がわかりません。 設定したい条件を可能にするにはどのようにしたらいいのでしょうか? ご教示お願いいたします。 シート:表(I4:U4は4月:3月の意味です)       F     G    H      I    ・・・   U 4 No.   氏名   区分    4       5   ・・・   3 5 11    ああ   AA    320    310  ・・・   300 6 12    いい   AB    295    200  ・・・   280 シート:LIST(BF2:BV147で1ヶ月の制限の値が入った表です)   BF   BG    BK   BL・・・  BV 2   No.   氏名    4     5・・・   3 3  11   ああ    293    263・・・290 4  12   いい    295    300・・・293

  • vlookup+条件付書式

    シート1の数列とシート2の数列をマッチングかけて、適合した場合にはシート3に表示、というファイルを作りました。 シート3のセルの数式は以下のようなものです。 =VLOOKUP(シート1!A2,シート2!B:B,1,FALSE) 適合して文字列が表示されたセルには背景色をつける、ということをしたいのですが、条件付書式との組み合わせ方がわかりません。 わかるかたいらっしゃいましたら教えてください。 よろしくお願いいたします。

  • EXCEL2003 条件付書式が狂ってくる

    条件付書式は、見ためにどのセルに入っているのかわからないというのと、複数の条件付書式が入ると、なぜかその前に決めていた条件付書式が消えてしまっているということがあって、なかなか不便に思っています。(やりかたが悪いのかもと思うのですが) それで、VBAの entireculumn というのを見つけたのですが、 これで対応できるでしょうか? やりたい事は、 1 2*--------------------------- 3*--------------------------- 4 5 6*--------------------------- 7*--------------------------- 上記のように、「*」をつけた行にだけ、行全体に色をつけておく、 というのを条件付書式で、 「数式が」「=$A1="*"」 としたもので、その設定をしているシートに、横にずっと、いろんな関数を入れていってます。 ですが、関数を入れたり、そのプロセスで列挿入などすると、 色がずれてしまうのです。 その回避策として、VBAで最初に色の設定をしておけないでしょうか? 「*がある行だけに色をつける。」 よろしくお願いします。

専門家に質問してみよう