2013-01-03 30 views
0

我在Excel電子表格中有2列。任何想法如何確定個人在Excel中屬於哪個年齡段?

第一列標題被稱爲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聲明的協助將不勝感激。

+0

你想要基於VBA或Excel公式的解決方案嗎? :) – bonCodigo

+0

嗨@bonCodigo,謝謝你的回覆。兩種解決方案都可以。如果公式更簡單,那麼很好。否則,vba很好。 –

+0

請看'VBA'解決方案然後:)你需要做的是,只需輸入'Age'作爲函數參數,它就會返回'Age Group'。非常基本的功能,所以沒有太多的錯誤處理完成。讓我知道它是否適合你。試試這個單元格= = whatagegroup(E7)' – bonCodigo

回答

1

這裏是一個VBA代碼:但是肯定你最好用Excel VLOOKUP。 :)

  1. 第一個add module to a VBA project

  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. 在一個單元格中輸入函數名稱並輸入,按照所示的圖像。
+0

但是@bonCodigo,除非我誤解了Dave,否則我需要創建一個數據庫表? 如果有人願意解釋VLookup的工作原理,我很樂意使用它。 –

+0

你想創建一個數據庫表?他只是說你需要[命名範圍](http://www.contextures.com/xlNames01.html),並使用'named range'作爲你的數據範圍來查找:)在'VBA case'你有一個所有年齡段的專欄,你需要做的就是將這個單元格輸入到函數中,然後輸入:)然後它會根據你在'case'語句中設置的內容給你相關的'Age_Group'。 – bonCodigo

+0

感謝您的幫助和耐心。我嘗試了這個功能,但它沒有做任何事情。只是爲了確保我正確使用它,我把它稱爲如下:whatAgeGroup(age)?並將該代碼放在Age_Group列下的第一行。我是否正確使用它? 我也嘗試了vlookup。首先,我將excel工作簿命名爲Age_Group_Table。然後我在Age_group列下的第一列使用VLOOKUP(A1,AGE_GROUP_TABLE,2,TRUE)。它也沒有做任何事情。我相信這是一個用戶錯誤。 –

6

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

+0

該文件是發送給我們在Excel工作表。我們不想創建一個表,並且它們是隨機的。你可以在第一行看到18,然後在第15行看到另一個。 –

+1

@ChidiOkeh - >你不需要像Access那樣創建一個'Table'。你只需要在Excel中創建一個表格,這個表格表示一個包含兩列(帶有標題)和數據行的數據結構。如果你將數字18 - 37(或者高)放在行的下面,並按照Dave的方法將年齡組放在他們的旁邊,那麼你可以使用'vlookup'來查找該組。使用Excel幫助或谷歌瞭解有關vlookup。 –

0

雖然vlookup解決方案非常出色,但您也可以使用數據透視表執行此操作。確保年齡是行標題,然後右鍵單擊Age「square」並選擇Group。這非常簡單和動態。

1

由於表的想法造成了一些混淆,我想我也會分享我最喜歡的一個自包含,表免費,使用嵌入式數組的VLOOKUP技巧。所以對於目前的問題,它看起來像這樣:

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