• 締切済み

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

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

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答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