ここから質問投稿すると、最大4000ポイント当たる!!!! >>

エクセル2016です。
文字列に1つでも数字が入っている場合に色をつけたいです。

<例>
 A
1 足立区綾瀬
2 日光市今市1
3 新宿区新宿九
の場合に、A2セルだけ色をつける

どうかよろしくお願いします。

A 回答 (4件)

No.3です。

私は勘違いしていたようで、すみません。
こんどはちゃんと確認しました。

=MATCH(FALSE,(ISERROR(FIND(COLUMN(A1:J1)-1,A1))),0)

これでいかがでしょうか?
全角の数字が入る可能性はないとしても、もし混入する恐れがあるなら、
ASC関数を入れてください。

=MATCH(FALSE,(ISERROR(FIND(COLUMN(A1:J1)-1,ASC(A1)))),0)
    • good
    • 0
この回答へのお礼

ありがとうございます!!
完璧でした!

お礼日時:2019/04/04 09:55

条件付き書式で、以下の数式を入れました。



=FIND(ROW(A1:A10)-1,A1)
「エクセル 文字列に数字を含む場合に色を付」の回答画像3
    • good
    • 0
この回答へのお礼

1行目、3行目に数字を入れたときに色が変わりませんでした。

お礼日時:2019/04/03 14:08

全角文字列の一部の数字だけが半角文字であるならば・・・


添付図参照
「エクセル 文字列に数字を含む場合に色を付」の回答画像2
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2019/04/03 14:03

こんにちは!



条件付き書式でなければならないのですよね。

どこかの列を作業用の列として使っていいですか?
そうであれば・・・

仮にE列を作業列として、E1セルに
=SUMPRODUCT((ISNUMBER(FIND({0,1,2,3,4,5,6,7,8,9},A1)))*1)

という数式を入れフィルハンドルでこれ以上データはない!というくらいまで下へコピーしておきます。

そしてA列すべてを範囲指定 → 条件付き書式 → 新しいルール → 数式を使用して・・・ → 数式欄に
=E1>0

という数式を入れ → 書式 → 塗りつぶしから好みの色を選択しOK!

これで半角数字があるセルに色が付きます。
(全角数字には反応しません)

※ 作業列が目障りであれば、遠く離れた列にするか
非表示にしてください。m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
早速試して解決しました。
ただ、作業列なしのバージョンをもう少し待ちたいと思います。

お礼日時:2019/04/02 19:20

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qエクセル データの入力規制「リスト」でこんな事できますか?

エクセルでこんな事できますか?
並列したQ列 R列があり、
また、添付には表記されていませんが、
その隣にS列 T列があり、
Q列、S列は、「コード」という事で、
Q列は1,2,3,4,5,6,7,8,9,10
S列は11,12,13,14,15,16,17,18,19,20
です。
R列は、「材質」でQ列に対応し、添付ファイルのように10項目
T列も「材質」でS列に対応し、10項目あります。

R列 T列「材質」を見て Q37セルにコードを入力したく、
その時、ドロップダウンリストとして、R列、続けて、T列の項目を表示したいです。

データの入力規制「リスト」で、できそうかと思い、頑張っていたのですが、
うまくいかず困っています。
データの入力規制「リスト」にはこだわりませんが、
マクロはできるだけ使わず完成したく思います。
エクセル詳しいかたご教授よろしくお願いします。

Aベストアンサー

あー…
入力規則はあくまでも、データ入力を補助するための機能ですからリストと違う文字を反映させることはできませんよ。

例えばリストデータは、01りんご・02プリンのように作って置いて、コードを出す時に
=LEFT(Q37,2)*1
と入れておくとか?

Qエクセル リストと完全一致するセルに色をつける

シート1のA列とB列に
aaa ccc
bbb ggg
ccc kkk
ddd ooo
と言うリストがあって、A1〜A4はAチーム、B1〜B4まではBチームと名前を付けています
シート2にAチームのリスト4個が続いているものがあればセルを赤、Bチームのリスト4個が続いているものがあればセルを黄色に塗りたいです
AチームとBチームの中には同じ品番がある時もあります
条件付き書式で設定は出来るでしょうか?

Aベストアンサー

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル

 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4

 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5

 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

の4パターンについてそれぞれ調べれば良いだけ。

自分なら
 aaa-bbb-ccc-ddd
のようにシート1から文字列を作り、それが調べるセルで同じパターンになるかを調べます。
シート1はA5セルから、シート2はA11セルからデータが入力されているなら、

 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A11 & A12 & A13 & A14
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A12 & A13 & A14 & A15
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A13 & A14 & A15 & A16
 シート1!A5 & シート1!A6 & シート1!A7 & シート1!A8 = A14 & A15 & A16 & A17

という条件になる。
この4つのうちの一つでも条件を満たせばセルに赤色を付ければいい。
「Bチーム」についても同様にすればいいので、
この場合、8つの条件式を設定することになります。

面倒でもこの考え方ができていないと、ちょっと条件が変わっただけで対処できずに終わります。
冒頭で「並び順」について書きましたが、並び順がシート1のリストの通りでなくとも色を付けたい場合でも、この考え方は必要ということです。

・・・
ちなみに厄介なのが、どちらのチームにも「ccc」がいるというところかな。
これが無ければ違う方法でシンプルにできるんですけどねえ。

(´・ω・`)
”○” の数を数えるんじゃないんだよなあ。

・・・本題・・・

条件付き書式ですよね。

シート2のリストの並び順は
 aaa
 ccc
 bbb
 ddd
では「Aチーム」と認識しないという事でよろしいでしょうか?
ならば、とても簡単です。

シート2の一覧において、

 判定するセル1
 判定するセル2
 判定するセル3
 色を付けるセル
 判定するセル4
 判定するセル5
 判定するセル6

という範囲について調べれば良いという事。

 判定するセル1
 判定するセル2
 判定するセル3
 色を付け...続きを読む

Qエクセルのカテゴリーでの整理方法を教えてください

エクセルでのカテゴリーごとに項目が存在しているのですが、
その見せ方・見た目を変更したく、ご教授お願いいたします。

===========
A 田中
A 今井
A 鈴木
A 佐藤
B 今野
B 浅田
B 水島
===========
↓↓↓
===========
A 田中,今井,鈴木,佐藤
B 今野,浅田,水島
===========

のように、AやBのカテゴリーを結合し、その右側のセルに、
該当する名前をカンマ区切りで再配置したいのです。

まだ、エクセル初心者でやり方がわからず、、
ご教授お願いいたします。

Aベストアンサー

其れなら 超簡単で、
ナイトキャップ前なので 助かります。

一般式、
=IFERROR(
 OFFSET($A$1,
  SMALL(
   INDEX(
    ($A$1:$A$7<>$A10)*10^10
    +ROW($A$1:$A$7)
   ,,),
  COLUMN(A1))-1,
  1,
  1,
  1)&"、",
 "")
(※注:読み易いように、
インデントを 付けてみました)

ファイル、
https://1drv.ms/x/s!AjviygfJDgV_3B85WQWilUZO0bM4

尚、
ファイルは 必ず、
一度 Excelで、
開き、、
ローカルに 別名保存を、
してくださいね、

別名保存でないと、
意味が ないですよ。


さすれば、
閲覧も、編集も、
叶うと 思いますよ。

Qエクセルの質問です。 一つのフォルダにエクセルファイルが100個あります。 そのファイル一つ一つに全

エクセルの質問です。

一つのフォルダにエクセルファイルが100個あります。
そのファイル一つ一つに全て同じ計算式
+SUM(a8:a20)を入力するのですが、とても面倒です。

何か良い方法はありませんでしょうか。

なお、ファイルはひとつひとつ別物なので、計算式を入力してからコピーという方法はとれません。

Aベストアンサー

> 同じ計算式+SUM(a8:a20)

計算式およびSUM関数という意味ですよね?


> 何か良い方法はありませんでしょうか。

全てのExcelファイルに対して式を埋め込むVBAマクロを記述したファイルを作成して実行させればよいです。

業務で作成した、雛形ファイルをコピーしてデータを入力したファイル(数百個~千以上)があり、式やマクロのアップデートをする場合に行なっています。
大量のファイルに対して手作業で修正を行うのは時間の無駄です。ミスの発生する可能性もありますしね。

Qエクセルのファイルを開く際の質問です

エクセルのファイルを開くと、常にAの160のセルが左上に表示させるような方法はありませんでしょうか、みんなが使うので、いつも開くと、最期のほうのページが表示されます。
VBAになるのかと思いますが、思いつきません。
先頭行の固定は必要なのですが、なんとか途中のページにある文章を左上にいつも表示させて開きたいのです。どなたか、お救い下さい。

よろしくお願いいたします。

Aベストアンサー

こんばんは。

'//Thisworkbook モジュールに貼り付けます。
Private Sub Workbook_Open()
  Application.Goto Worksheets(2).Range("A160"), True
End Sub

マクロ付きのブック(xlsm)か、バイナリのブック(xlsb) で保存します。

ただし、もし、拡張子が、xlsx でマクロなしのブックを指定した場合は、個人用マクロブックなどを使った特別のブログラムが必要になります。それはまた、ご相談ください。

Q表でクロスされた箇所を取得したい

有給の計算をしたい為、月数を区分から一致するデータを取得したいです
有給シートのB~Fに区分を*で記入しています
有給シートのIに月数を計算で表示させています

別のシート区分に
区分と月数の表を作り、縦横の合致する日数を
有給シートのJに返したいです

色々やりましたが、区分の取得方法が解りません
宜しくお願い致します

※捕捉で画像添付できなくて再質問させて頂いております
とりあえず区分をA=1 B=2 という感じで K列に1~5で取得まで出来ました

Aベストアンサー

こんにちは!

一例です。
まず「区分」シートの表を↓の画像のようにやり替えます。
これで
B列 →  0~65
C列 → 66~70
D列 → 71~75



のようになります。

そのうえで、J4セルの数式を
=INDEX(区分!B$2:G$6,MATCH(INDEX(B$3:F$3,MATCH("*",B4:F4,0)),区分!A$2:A$6,0),MATCH(I4,区分!B$1:G$1,1))

とし、フィルハンドルで下へコピーしてみてください。

※ エラー処理はしていません。m(_ _)m

Qエクセルでチェックボタンを作ったのですが

エクセルでチェックボタンを下の方に複数 作ったのですが 縦に並べたとき どうもまっすぐに
ならなくて いい方法お教えくださいませんでしょうか。

Aベストアンサー

私は、チェックボタンというのはどれを指しているのかわかりませんが、チェックボックス・コマンドボタンなどのActiveX コントロールやフォームコントロールの複数のオブジェクトの位置揃えは、最初に、
・ホームタブの編集-検索と・選択-オブジェクトの選択をクリック
 で、該当するオブジェクトを選択します。
・描画ツールの書式のタブが出てきているはずですから、それをクリック
・配置-オブジェクトの配置(右側上)
(画像参照)
で、複数のオブジェクトの中での左端に合わせ、上下間を揃え整えます。

Qエクセルでこんな事できますか?

添付エクセルのようにA列に任意の数字が歯抜けで入力したとき、その数字の入っているC列の同じ行(実際は、100行程ある)にだけ、数字の1を自動に入れたいのですが、、、詳しい方 教えてください。関数でも、マクロでも何でもかまいません。 よろしくお願いいたします。

Aベストアンサー

マクロならこうなります。

Sub TestSample1()
 With Range("A1", Cells(Rows.Count, 1).End(xlUp))
  .SpecialCells(xlCellTypeConstants, xlNumbers).Offset(, 2).Value = 1
 End With
End Sub

Q関数を教えてください

A1のセルには、右コーナー、左コーナー、直線、上り坂と入力されるのですが、
B1にAのセルが右コーナーなら右、左コーナーなら左、右でも左でもなければ○○と
表示させるにはどうすればいいでしょうか、いろいろ試しても、成功しません。

Aベストアンサー

今後、条件が増えるようであれば、別のセル範囲に対応表を作って、VLOOKUPが王道でしょう。増加や変更が無いのであれば、同じ発想で、こんな感じです。

=IFERROR(VLOOKUP(A1,{"右コーナー","右";"左コーナー","左"},2,FALSE),A1)

QEvaluate内で変数を使用して指定範囲内全てを60倍し、空白セルにできた0を消しておくには

セル範囲内に*60したいと思い、以下のようにしましたが、実行後のセル範囲内の値が全て#VALUE!になってしまいました。書き方をどのように修正すればできるでしょうか?
式の中にあるOffsetは、最初は、Offset(0, 0)から始まり、,繰り返しの中で、lastcol分だけ列を移動しながら、60倍していきたいと思っています。シート名は、Withで指定していますが、Evaluate内で、使えないなら、直接シート名を記載しても問題ありません。行範囲も、列の移動に合わせて変動します。(lastrowで決定)

.Range(.Cells(12, 31).Offset(0, lastcol), .Cells(11 + lastrow, 33).Offset(0, lastcol)).Value = Evaluate(" & .Range(.Cells(12, 31).Offset(0, lastcol), .Cells(11 + lastrow, 33).Offset(0, lastcol))).Address(False, False) & * 60")


また、範囲内には空白セルも含まれており、60倍すると、空白セルに0が入力されてしまうのではないか、と思いますが、できれば空白セルは除外して処理できるとよいのですが、その判定をここに入れ込むと式が複雑で分かりにくくなるのではないかと思うので、空白セルもそのまま処理し、その後0を削除する処理も同じようにEvaluateで引き続き処理できれば良いと思っていますので、大変申し訳ないのですが、60倍する式の修正式と、同じ範囲の0を削除する式を教えていただきたいです。
もし、0を削除する式は、Evaluateを使わず、もっとよい方法があればそれでも良いです。Excelの設定で0を表示しない、はNGです。

セル範囲内に*60したいと思い、以下のようにしましたが、実行後のセル範囲内の値が全て#VALUE!になってしまいました。書き方をどのように修正すればできるでしょうか?
式の中にあるOffsetは、最初は、Offset(0, 0)から始まり、,繰り返しの中で、lastcol分だけ列を移動しながら、60倍していきたいと思っています。シート名は、Withで指定していますが、Evaluate内で、使えないなら、直接シート名を記載しても問題ありません。行範囲も、列の移動に合わせて変動します。(lastrowで決定)

.Range(.Cells(12, 31...続きを読む

Aベストアンサー

こんにちは。

いずれにしても、One Line で書くというのは、VBAの場合、どこでミスしたか分かりなくなりますから、分かち書きのほうがよいでしょう。
Test1 は、Evaluete式は、配列計算です。結果的には、空白を抜くという作業が、ややこしくなっています。
Test2 は、VBAの通常の構文を使ったもので、標準的です。

'//標準モジュール
Sub Test1()
 Dim Rng1 As Range
 Dim adr1 As String
 Dim Rng2 As Range
 Dim adr2 As String
 Dim LastCol As Long
 Dim LastRow As Long
 With ActiveSheet
  LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
  LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
  Set Rng1 = .Range(.Cells(12, 31).Offset(0, LastCol), .Cells(11 + LastRow, 33).Offset(0, LastCol))
  adr1 = Rng1.Address(0, 0)
  On Error Resume Next '空白がない場合
  Set Rng2 = Rng1.SpecialCells(xlCellTypeBlanks)
  adr2 = Rng2.Address
  On Error GoTo 0
  Rng1.Value = Evaluate(adr1 & " * 60")
  If Not Rng2 Is Nothing Then
   .Range(adr2).Value = ""  '0を抜く。"" は残りません。
  End If
 End With
End Sub

'//標準モジュール
Sub Test2()
 Dim LastCol As Long
 Dim LastRow As Long
 Dim c, Rng As Range
 With ActiveSheet
  LastCol = .Cells(1, Columns.Count).End(xlToLeft).Column
  LastRow = .Cells(Rows.Count, 1).End(xlUp).Row
  Set Rng = .Range(.Cells(12, 31).Offset(0, LastCol), .Cells(11 + LastRow, 33).Offset(0, LastCol))
  For Each c In Rng
   If c.Value <> "" Then
    c.Value = c.Value * 60
   End If
  Next
 End With
End Sub

こんにちは。

いずれにしても、One Line で書くというのは、VBAの場合、どこでミスしたか分かりなくなりますから、分かち書きのほうがよいでしょう。
Test1 は、Evaluete式は、配列計算です。結果的には、空白を抜くという作業が、ややこしくなっています。
Test2 は、VBAの通常の構文を使ったもので、標準的です。

'//標準モジュール
Sub Test1()
 Dim Rng1 As Range
 Dim adr1 As String
 Dim Rng2 As Range
 Dim adr2 As String
 Dim LastCol As Long
 Dim LastRow As Long
 With ActiveSheet
  La...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング