有关如何确定个人在Excel中所属年龄组的任何想法?

时间:2013-01-03 16:49:11

标签: vba excel-vba case excel

我在Excel电子表格中有2列。

第一个列标题称为AGE,第二个列标题称为Age_Group。

AGE栏中的年龄介于18至45岁之间。

可能有多个年龄相同的行。

我的任务是确定某个年龄段的年龄组,然后打印出该年龄组。

例如,如果某人的年龄为18岁,我想使用IF语句或CASE语句来确定年龄18在18到24之间,然后将该值放入Age_Group列为18-24。

如果年龄为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分。

我对Excel VBA不太满意。任何IF或CASE声明的帮助将不胜感激。

4 个答案:

答案 0 :(得分:7)

使用vlookup。创建一个两列表,其中第一列中的年龄范围的下限和第二列中的文本的年龄范围如下所示:

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找到最接近的匹配。

答案 1 :(得分:1)

这是一个VBA代码:但是使用Excel VLOOKUP肯定会更好。 :)

  1. 首先add module to a VBA project

  2. 复制以下

  3. 代码。

    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. 在单元格中输入函数名称,然后根据显示的图像输入。

答案 2 :(得分:1)

由于桌子的想法引起了一些混乱,我想我也会分享我最喜欢的一个使用嵌入式阵列的自包含,无表格,VLOOKUP的技巧。因此对于当前的问题,它看起来像这样:

VLOOKUP(A1, {18,"18-24";25,"25-29";30,"30-35";36,"36-37"}, 2 TRUE)

答案 3 :(得分:0)

虽然vlookup解决方案非常出色,但您也可以使用数据透视表。确保年龄是行标题,然后右键单击Age“square”并选择Group。这非常容易和动态。