アプリ版:「スタンプのみでお礼する」機能のリリースについて

A1のセルに、
0~4  の値が入力されたら、A2のセルに、“0”を表示
5~14  の値が入力されたら、A2のセルに、“1”を表示
15~24 の値が入力されたら、A2のセルに、“2”を表示
25~34 の値が入力されたら、A2のセルに、“3”を表示
35~44 の値が入力されたら、A2のセルに、“4”を表示
45~54 の値が入力されたら、A2のセルに、“5”を表示
55~64 の値が入力されたら、A2のセルに、“6”を表示
65~74 の値が入力されたら、A2のセルに、“7”を表示
75~84 の値が入力されたら、A2のセルに、“8”を表示
85~94 の値が入力されたら、A2のセルに、“9”を表示
95~100 の値が入力されたら、A2のセルに、“10”を表示

させるように関数を使い式を作るとき、どのようにしたら
よろしいでしょうか?

A 回答 (10件)

先にshy00さんが紹介されてますが、twinkle_lightさんの場合にあてはめて説明します。



まず、任意の箇所に、下記のような2行11列の表を作成します。
0,5,15,25,35,45,55,65,75,85,95
0,1,2,3,4,5,6,7,8,9,10

次に、セルA2に下記の関数を入力します。2番目の引数(表と記載している箇所)に、上記の表の参照を入力します。
=HLOOKUP(A1,表,2,TRUE)

例えば、D1からN2に表を作成したとすると、
=HLOOKUP(A1,D1:N2,2,TRUE)
となります。

詳細は、HLOOKUPのヘルプを見て下さい。
この関数は、括弧内の最後の引数“TRUE”がポイントになります。
    • good
    • 0

=ROUND(INT(A1)/10,0)


でどうでしょうか。
A1のセルが必ず整数値なら
INT(A1)は単にA1でOKです。
    • good
    • 0

VBAでの回答。

A1:K1までコードを(数値)振っています。数値文字にするならCells(2, j) ="'" & b(i)に変える。短くを心がけました。
Sub test01()
Worksheets("sheet1").Select
a = Array(5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 101)
b=Array"0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10")
For j = 1 To 11
For i = 0 To 10
If Cells(1, j) < a(i) Then
Cells(2, j) = i
Exit For
End If
Next i
Next j
End Sub
    • good
    • 0

 A2に =INT((A1+5)/10)


でも表示できます。
    • good
    • 0

こんにちは。



IFのネスト制限(7回)を回避するため、55未満と55以上で区切ってネストしてます。ベタ書きです。

=IF(A1<55,IF(A1<0,"",IF(A1<5,0,IF(A1<15,1,IF(A1<25,2,IF(A1<35,3,IF(A1<45,4,5)))))),IF(A1<65,6,IF(A1<75,7,IF(A1<85,8,IF(A1<95,9,IF(A1<101,10,""))))))

ユーザー関数で =hoge(A1) の方がスマートですが。

Function Hoge(r As Range) As Integer
 Select Case r.Value
 Case 0 To 4: Hoge = 0
 Case 5 To 14: Hoge = 1
 Case 15 To 24: Hoge = 2
    ・
    ・
 End Select
End Function
    • good
    • 0

初めまして。

マクロになりますが、コピー&ペーストすれば簡単に実行することが出来ますので、もしよろしければ、以下のように操作してみて下さい。

・新規ブックを立ち上げ、ALT+F11キーを押してVBE画面を表示させ、画面左上にVBAProjectと書かれている下のThidWorkbookをダブルクリックして表示された右側の白い部分に、下記のコードをコピー&ペーストする。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

If Target.Column <> 1 Then Exit Sub
Application.EnableEvents = False
Select Case Target.Value

Case 0 To 4
Target.Offset(0, 1).Value = 0
Case 5 To 14
Target.Offset(0, 1).Value = 1
Case 15 To 24
Target.Offset(0, 1).Value = 2
Case 25 To 34
Target.Offset(0, 1).Value = 3
Case 35 To 44
Target.Offset(0, 1).Value = 4
Case 45 To 54
Target.Offset(0, 1).Value = 5
Case 55 To 64
Target.Offset(0, 1).Value = 6
Case 65 To 74
Target.Offset(0, 1).Value = 7
Case 75 To 84
Target.Offset(0, 1).Value = 8
Case 85 To 94
Target.Offset(0, 1).Value = 9
Case 95 To 100
Target.Offset(0, 1).Value = 10

End Select
Application.EnableEvents = True

End Sub

A列に数字を入力してみて下さい。貴方様の思い通りの動作を確認できると思います。

不都合な点・ご不明な点等がございましたら、お気軽にお知らせ下さい。
    • good
    • 0

文字通り、A2セルに、



=ROUND(A1/10,0)です。

()の中は、A1セルを10で割るという意味です。

つまり、A1の次に/(スラッシュ)です。

Aと1/10ではありません。

入力規則は設定しなくてもかまいません。
    • good
    • 0

↓ごめんなさい。

入力規則の最大値は「100」です。

この回答への補足

すいませーん。

実際に式を教えてください。

無知ですみません。

補足日時:2002/12/22 01:47
    • good
    • 0

A2セルに



ROUND(A1/10,0)

とし、念のためA1セルに、

[データ]→[入力規則]で、入力値の種類として「整数」(あるいは「小数点数」など必要に応じる)、データとして「次の値の間」とし、最小値として「0」、最大値として「10」を設定すればいいと思います。

この回答への補足

すいませーん。

実際に式を教えてください。

無知ですみません。

補足日時:2002/12/22 01:48
    • good
    • 0

以前、煮た質問がありましたのでそちらを参考になさってください



http://oshiete1.goo.ne.jp/kotaeru.php3?q=428485

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=428485
    • good
    • 0

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