• 締切済み

条件付き書式でできますか?

エクセル2007ユーザーです。セルにコピーした半角数字を貼り付けるのですが、その数字が10桁と9桁の場合があります。9桁の数字のみ、条件付き書式でセルの色と文字をマーキングすることは可能でしょうか。 入力規則ですと、貼り付けた場合、規則は無効となってしまいます。 マクロやVBAを使わないでできれば、関数で行うことは可能でしょうか。 ご教示よろしくお願いします。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

条件付書式を使い、「数式が」、で 式を =LEN(A1)>3 のような式にすれば仕舞いでは。 この場合は4桁以上という内容なので、質問者は適当に。(テスト済み) LENは文字列の長さを出すものだが、数字でも直接使える。他回答のようになじみの薄い関数を使わなくても出来る。 2007においての操作はご存知と思うが http://www.eurus.dti.ne.jp/yoneyama/Excel2007/excel2007-jyosyo2.html を参照。「数式を利用して・・」を使う。

kgh10614
質問者

お礼

どうもありがとうございました。LEN関数ですね。 早速やってみます。

  • shinkami
  • ベストアンサー率43% (179/411)
回答No.6

二通りあります。 1.貼り付け先に条件付き書式を定義しておき、値のみの貼り付けにします。 貼り付け元コピーー貼り付け先右クリックー形式を選択して貼り付けー値 2.マクロ活用 コピペの後貼り付け先に条件付き書式を定義 Sub 条件付き書式コピペ() Range("A5:A13").Select Selection.Copy Range("C5").Select ActiveSheet.Paste Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, _ Formula1:="=1000000036" Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority With Selection.FormatConditions(1).Font .Color = -16383844 .TintAndShade = 0 End With Selection.FormatConditions(1).StopIfTrue = False End Sub

kgh10614
質問者

お礼

どうもありがとうございました。 マクロは勉強不足でわかりません。 1番を参考にさせていただきます。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.5

 ANo.4です。  申し訳御座いません、先ほどの回答における「次の数式を満たす場合に値を書式設定」欄に入力する数式を、回答欄に入力した際に、一部入力ミスによる抜けが御座いました。 【誤】 =INT(LOG10(ABS(A1))) 【正】 =INT(LOG10(ABS(A1)))=8  尚、入力されている値が正の整数の場合のみ、セルの色を変える様にし、小数部分を含んだ数値や、負の数の場合には、色を変え無様にする場合には、「次の数式を満たす場合に値を書式設定」欄に入力する数式を次の様なものにして下さい。 =AND(A1=INT(A1),INT(LOG10(A1))=8)

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 例えば、A1~A9の範囲に、9桁の数字(負の数を含む)数字を入力した場合のみ、セルの色を変える条件つ挙式を設定するには、以下の様な操作となります。 A1セルを選択   ↓ [ホーム]タグをクリック   ↓ 「スタイル」グループの中にある[条件付き書式] をクリック   ↓ 現れた選択肢の中にある[新しいルール] をクリック   ↓ 現れた「新しい書式ルール」ダイアログボックスの「ルールの種類を選択して下さい」欄の中にある[数式を使用して、書式設定するセルを決定] をクリック   ↓ 現れた「次の数式を満たす場合に値を書式設定」欄に次の数式を入力 =INT(LOG10(ABS(A1)))   ↓ 「新しい書式ルール」ダイアログボックスの[書式]ボタンをクリック   ↓ 現れた「セルの書式設定」ダイアログボックスの[塗りつぶし] タグをクリック   ↓ 好きな色の四角形をクリック   ↓ 「セルの書式設定」ダイアログボックスの[OK]ボタンをクリック   ↓ 「新しい書式ルール」ダイアログボックスの[OK]ボタンをクリック   ↓ 選択しているセルを変えずに、再度[条件付き書式] をクリック   ↓ 現れた選択肢の中にある[ルールの管理] をクリック   ↓ 現れた「条件付き書式ルールの管理」ダイアログボックスの「書式ルールの表示」欄が[現在の選択範囲]となっていることを確認   ↓ 「ルール(表示順で適用)」欄が「=INT(LOG...」となっている行の「適用先」欄の内容を =$A$1 から =$A$1:$A$9 に変更する   ↓ 「条件付き書式ルールの管理」ダイアログボックスの[OK]ボタンをクリック  以上です。

kgh10614
質問者

お礼

ありがとうございました。 関数が難しくて理解が及びませんでした。 検討してみます。

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

こんばんは! 当方使用のExcel2003での一例です。 セルを指定 → 条件付書式 → 「セル値が」 → 「次の値の間」を選択 「100000000」と「999999999」を入力 → 書式 → 塗りつぶし・文字色等を設定! こんなんではどうでしょうか? 手元にないので詳しくは判りませんが Excel2007の場合は 「新しいルール」 ・・・で選択できたと思います。 ※ 貼り付け時に「形式を選択して貼り付け」→「値」にチェックを入れる必要があります。 (そのまま貼り付けると元のセルの書式もそのまま貼り付けられます) ※ 「0987654321」といった数値は10桁表示ですが、9桁と判断されます。 参考になれば良いのですが・・・m(_ _)m

kgh10614
質問者

お礼

どうもありがとうございます。 まさに、0987654321が987654321と表示されてしまい、それをチェックするために桁数で分別しようと 考えたのです。値貼り付けでなんとか対応できそうです。

回答No.2

数字を入力するセルを全て選択して 条件付き書式→セルの強調表示ルール→指定の値より小さい→出てきたウインドウに 1000000000を入力して書式をお好みに設定すれば9桁以下の数字の色が変えられます。

  • DJ-Potato
  • ベストアンサー率36% (692/1917)
回答No.1

貼り付ける時に、右クリックから形式を指定して貼り付けたら、入力規則まで上書きされずに済むような気がします。 それでもダメなら、条件つき書式の範囲を後から指定したらいいと思います。

kgh10614
質問者

お礼

どうも早々とありがとうございました。

関連するQ&A

  • エクセルの条件付き書式

    条件付き書式について、指定したセルに入力(数字や文字を問わず)すると、セルの色が変わるよう設定したいのです。 ただ、数字の表示を3桁表示する必要があり、どうしても1~99までの番号には頭に「0」をつける必要があるため、条件付き書式を設定する前に、あらかじめ対象のセルには、セルの書式設定で表示形式を文字列に設定しています。 その設定をすることにより、条件付き書式が実行されません。 ですので、 (1)セルに001~099と表示されるよう入力するとセルの色が変わるやり方 と、 (2)数字ではなく文字を入力したときもセルの色が変わる設定方法 を、ご存知であれば教えてください。 エクセルの知識は「初心者~普通」程度です。 表計算などは出来ますが、関数やマクロはかじってる程度です。 簡単な回答をしていただけるとありがたいです。 よろしくお願いします。

  • エクセルの条件つき書式を別のセルに適用させる

    お世話になっております。m(_ _)m エクセルに「条件つき書式」という機能があります。 これは、「設定をしたセルの書式」を制御するものですが、条件の指定に使うセルと書式を設定したいセルが別の場合は、どのようにすればよいのでしょうか?可能なのでしょうか? やりたいことは、A1のセルに入っているデータが8桁なら書式を「00000000(ゼロ8個)」とし、9桁なら「000000000(ゼロ9個)」というようにしたいのです。 このような設定をしなければならない理由は、このセルに入るデータは桁数が8桁か9桁で、数字か文字か決まっていないデータが入ります。 例)00123445   E0123456   012345678   Z12345678 等 「E0123456」や「Z12345678」が入る場合は文字列としてデータが扱われてもかまわないのですが、「00123445」や「012345678」は「数値」として扱いたいのです。 「00123445」の場合、数値としてこの数字を表示したければ書式を「00000000(ゼロ8個)」とすればよいと思います。 しかし、このセルには9桁の「012345678」というデータが入る可能性があります。このデータも数字として扱いたいので「000000000(ゼロ9個)」とすればよいとなります。 しかし、ゼロ9個の書式設定をしてしまうと、8桁の数字が「000123445」と表示されてしまいます。それでは困ります。 8桁は8ケタ、9桁は9ケタで、0から始まる数字を表示したい場合、どのようにすれば表示できるでしょうか? 長くなりましたが回答をお願いします。

  • エクセル 複数の条件付き書式について

    お世話になります。 条件付き書式で、 【数式】が【=MOD(B12,100000000)=$*$*】 の関数(下8桁の数字を抜き出す)を使い数値を抜き出したいのですが、設定数が30コあります。 VBAを使わないと4つ以上設定できないそうなので教えて下さい。VBAは初心者です。 表でいいますと… ↓抜き出したい数字元       A       B      … J 番号1  12345678  45678901   78901234 番号2  23456789  56789012   89012345 番号3  34567890  67890123   90123456 ↓照会したい数字の範囲 条件付き書式範囲 B12:J31 です。 よろしくお願いします。m(_ _)m

  • 書式ごとコピーするユーザー定義関数をつくりたい

    VBA初心者です。 ExcelにてVBAを使用し、書式ごとコピーができるユーザー定義関数の作成を考えております。 理想としては例えば、A1に =GetTxt(INDIRECT("G"&B1)) と入力すれば、B1の値に応じてG列の任意の行のセルを引数として指定でき、 指定先のセルを書式ごとA1にコピーできるGetTxt()関数を定義したいのですが、 具体的にどのようにFunctionプロージャを記述すればいいでしょうか? (コピー元のセルをB1に入力する値に応じて随時自動で変えたいと考えております) 単純に値を返すだけのVBAコードならわかるのですが、 ワークシート上で関数として使用でき、かつ書式なども指定する方法がわかりません。 もしワークシート上での関数としての実行が困難であれば代替案でも構いませんので、 宜しければ何卒ご教示お願い申し上げます。

  • VBA 条件付き書式で空欄は適用除外したい

    Excel2002又は2003のVBAにおいて条件付き書式をマクロを組んで設定しているのですが、 設定1:5以下の場合、青 設定2:-10以下の場合、赤 のように設定したのですが、空欄(未入力状態のセル)も青くなってしまいます。 空欄になっているセルに半角スペース等を入れれば色は付かなくなることを確認はしたのですが、条件付書式にさらに条件を追加する等で、この現象を回避する方法はないでしょうか? なお、マクロで条件付書式の設定してあるセルを選択し、条件付書式を一括で書き換えています(色の設定や範囲指定を別設定で変えられるように)。 そのため、条件付き書式でエクセル上の操作で行う設定ではなくマクロで選択したセルに書式の設定を行うようにしたいのですが・・・ ※書き込むカテゴリに少し迷ったのですが、こちらで質問させていただきます。 よろしくお願いします。

  • テキストボックスの書式について

    例えばセルA1の書式が、分類:日付、種類:3月14日とします。(数字は半角) この場合、セルA1に03(全角)月14(半角)日と入力しても、3月14日(数字はすべて半角)と表示されます。 マクロを作成しているのですが、セルA1とテキストボックスの書式がどうしてもうまくいきません。 セルA1はUserform1内のTextbox1の値を取得します。 しかし、Textbox1の値をセルA1へ表示させると、セルA1と同じ書式に表示されません。 テキストボックスの値は文字列として扱われているようです。 Textbox1に03(全角)月14(半角)日と入力しても、3月14日(数字はすべて半角)と表示される方法はありませんか?

  • Excel、セルの書式設定について

    バージョンは2003を使っています。 セルの書式設定→表示形式→ユーザー定義で 「○○@」と入れると 何も入力しなければそのままですが 何かを入力すると、必ずその入力した文字列の前に○○が表示されますが 数字はできないのでしょうか? 漢字はできたのですが 半角数字を同じようにやったら 「入力した表示形式が正しくありません。 あらかじめ組み込まれている表示形式のいずれかを使用してみてください…」 というエラーになりました。 1000セル以上に数字を入力予定なのですが 1セルに20桁で、前半15桁は同じ羅列です。 15桁のみ入力してコピペしてというやり方でもいいのですが そうすると、1セル1セル入力の際にクリックしないといけないので…。

  • エクセルの条件付き書式が消えてしまいます。

    エクセルの条件付き書式が消えてしまいます。 エクセルのC列に条件付き書式を設定ました。次の数式のとき、セルに色がつくというものです。 =COUNTIF(C:C,C1)>1 しかし、行を削除したり、また付け加えたりしているうちに、条件付き書式が無効になるのに気づきました。おそらく新しく追加する行にはこれは無効なのでしょうか。。(?) 私はC列ならすべて、この条件に当てはめたかったのですが、追加したり削除したりしていると、無効になるセル(行)が発生するようです。 これを防ぐことはできないでしょうか?条件付き書式ではムリで、マクロなどにするしかないのでしょうか?

  • エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式で

    エクセルのセルの書式で,数字が9けたあり、それが600くらい同じ形式であります。その形式は3桁スペース6桁の数字(例)456 789123となっているのを、456789123と、空白をつめて一括で9ケタにしたいのですが、可能でしょうか?セルの書式設定で、ユーザー定義で試みましたがだめでした。よろしくご指導お願いします。

  • エクセルの書式について

    00592 は文字列で 452 は書式のユーザー定義で00000とし 00452 と表示されています。 これを00452のセルを選ぶますと452となります。沢山の数字を5桁にし前に0をつけるとするとユーザー定義で00000は便利です。が、VLOOKUPで探すときに0は省かれてしまいます。 いい策はありますか。

専門家に質問してみよう