- ベストアンサー
【Excel365】数字のみの場合に表示させたい
- みんなの回答 (10)
- 専門家の回答
質問者が選んだベストアンサー
回答No.6の訂正です。 No.6の10桁のやつはあたまに0がある時のデータで確認してなかったので間違ってました 10桁限定でしたら =IFERROR(IF(A2="","",IF(ISNUMBER(VALUE(A2)),IF(LEN(A2)=10,"有効",""),"")),"") 10桁以外があった場合の桁数表示あり =IFERROR(IF(A2="","",IF(ISNUMBER(VALUE(A2)),IF(LEN(A2)=10,"有効",LEN(A2)&"桁"&"です"),"")),"")
その他の回答 (9)
- msMike
- ベストアンサー率20% (364/1804)
- SI299792
- ベストアンサー率47% (772/1616)
365 なら、スピルが使えます。 C2: =IF(ISERROR((A2:A99&"")+0),"","有効") 下へコピペの必要はありません。 99は実データに合わせて変更して下さい。
お礼
ご回答ありがとうございました。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.6の訂正というかなんどいうか =IFERROR(IF(A2="","",IF(VALUE(A2),"有効","")),"") 上記でもいけてますが念のためにISNUMBERを入れておきます(数値かどうか確認してるのが見てわかると思うので) =IFERROR(IF(A2="","",IF(ISNUMBER(VALUE(A2)),"有効","")),"")
お礼
ご回答ありがとうございました。
- kkkkkm
- ベストアンサー率66% (1719/2589)
回答No.1の訂正です。 未入力のセルがあると有効になっていたので =IFERROR(IF(A2="","",IF(VALUE(A2),"有効","")),"") 10桁限定でしたら =IFERROR(IF(A2="","",IF(LEN(VALUE(A2))=10,"有効","")),"") 10桁チェックするのでしたら10桁以外があった場合の桁数表示もあった方がいいかもで =IFERROR(IF(A2="","",IF(LEN(VALUE(A2))=10,"有効",LEN(A2)&"桁"&"です")),"")
お礼
ご回答ありがとうございました。
- NuboChan
- ベストアンサー率47% (785/1650)
求められていませんがVBAなら 標準モジュール用、WorkSheet用です Option Explicit Sub CheckColumnA() Dim lastRow As Long Dim i As Long lastRow = Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To lastRow If Len(Cells(i, "A").Value) = 10 And IsNumeric(Cells(i, "A").Value) Then Cells(i, "C").Value = "有効" End If Next i End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long If Intersect(Target, Range("A2:A300")) Is Nothing Then Exit Sub Else If Len(Target.Value) = 10 And IsNumeric(Target.Value) Then Target.Offset(0, 2) = "有効" End If End If End Sub
お礼
ご回答ありがとうございました。
- redslove10
- ベストアンサー率41% (397/968)
C2セルに =IF(AND(ISNUMBER(A2*1), LEN(A2)=10), "有効", "") を入力し、C3以降にもコピーしてください。
お礼
ご回答ありがとうございました。 10桁のみに表示させたい時にはこの関数でOKですね。
- sknbsknb2
- ベストアンサー率38% (1158/3030)
C2に =IFERROR(IF(A2=TEXT(VALUE(A2),"0000000000"),"有効",""),"") と入れて、C3から下にコピーしてください。
お礼
ご回答ありがとうございました。 10桁のみに表示させたい時にはこの関数でOKですね。
- imogasi
- ベストアンサー率27% (4737/17069)
データ例 A1:C7 C列は結果 A列の数字だけのデータは、先頭にアポストロフィを付けた。 000369000 有効 0123456789 有効 2222222222 有効 廃番 登録待ち4444444 確認中 9988776655 有効 -- C1セルの関数 =IF(ISNUMBER(VALUE(A1)),"有効","") 下方向に式を複写。 結果 上記C列の通り。 充分な、色んなケースでテストして、反例があれば出してください。
お礼
ご回答ありがとうございました。
- kkkkkm
- ベストアンサー率66% (1719/2589)
C2に =IFERROR(IF(ISNUMBER(VALUE(A2)),"有効",""),"") でいかがですか
お礼
ご回答ありがとうございました。
お礼
ご回答ありがとうございました。 桁数間違いの場合に注意勧告できるので、この関数を適用させていただきます。 大変助かりました。