0

Excelスプレッドシートに2つの列があります。

最初の列ヘッダーはAGE​​と呼ばれ、2番目の列ヘッダーはAge_Groupと呼ばれます。

AGE列の年齢は18〜45歳です。

同じ年齢の複数の行が存在する可能性があります。

私は、特定の年齢がどの年齢層に該当するかを判断し、その年齢層を印刷するという任務を負っています。

たとえば、誰かの年齢が18歳の場合、IFステートメントまたはCASEステートメントを使用して18歳が18〜24歳であると判断し、その値を18〜24としてAge_Group列に入力します。

年齢が19の場合も、Age_Group列の18〜24のグループに分類されます。

Age列の年齢が25〜29の場合、Age_Group列に25〜29として表示されます。次に例を示します。

AGE                            AGE_GROUP
18                               18-24
19                               18-24, 
25                               25-29
28                               25-29

コードを共有していただければ、45に達するまで残りを計算するために使用できます。

私はExcelVBAが苦手です。IFまたはCASEステートメントに関するサポートをいただければ幸いです。

4

4 に答える 4

7

vlookupを使用します。次のように、最初の列に年齢範囲の下限を、2番目の列にテキストとして年齢範囲を含む2列のテーブルを作成します。

AGE_LOOKUP  AGE_GROUP
18          18-24
25          25-29
30          30-35
36          36-37 etc..

このテーブルの範囲にAGE_GROUP_TABLEという名前を付けてから、次の式を使用して年齢グループを取得します。

VLOOKUP(A1, AGE_GROUP_TABLE, 2, TRUE)

セルA1にさまざまな年齢を入力すると、数式は正しい年齢グループを返します。覚えておくべき重要なことは、VLOOKUPの最後のパラメーターがTRUEに設定されていることを確認することです。これにより、VLOOKUPは最も近い一致を見つけます。

于 2013-01-03T17:00:09.523 に答える
1

VBAコードは次のとおりです。ただし、ExcelVLOOKUPを使用した方がよいでしょう。:)

  1. まず、モジュールをVBAプロジェクトに追加します

  2. 以下をコピーします

コード。

Option Explicit


Function whatAgeGroup(ByVal i As Integer) As String
    Select Case i
        Case IsEmpty(i)
            whatAgeGroup = "No Age Entered"
        Case 18 To 24:
            whatAgeGroup = "18-24"
        Case 25 To 29
            whatAgeGroup = "25-29"
        Case 30 To 34
            whatAgeGroup = "30-34"
        Case 35 To 39
            whatAgeGroup = "35-39"
        Case 40 To 44
            whatAgeGroup = "40-44"
        Case Is >= 45
            whatAgeGroup = "45 and Above"
        Case Else
           whatAgeGroup = "WhatGroup?"
        End Select
End Function
  1. 表示されている画像のように、セルに関数名を入力して入力します。
于 2013-01-03T17:12:43.853 に答える
1

テーブルのアイデアが混乱を引き起こしていたので、埋め込み配列を使用した、自己完結型のテーブルフリーのVLOOKUPという私のお気に入りのトリックも共有したいと思いました。したがって、現在の問題では、次のようになります。

VLOOKUP(A1, {18,"18-24";25,"25-29";30,"30-35";36,"36-37"}, 2 TRUE)
于 2013-01-03T20:52:10.770 に答える
0

vlookupソリューションは優れていますが、ピボットテーブルを使用してそれを行うこともできます。年齢が行見出しであることを確認してから、年齢の「四角」を右クリックして[グループ]を選択します。これは非常に簡単で動的です。

于 2013-01-03T20:17:37.423 に答える