我在Excel中有一组数据,在一列中是一个估计(周数)
我想要一个Excel公式来将其存入
如果值为0 - 10,则将其设置为小.如果值为10 - 20则将其置于"中等"等...
如果除了嵌套if语句之外还有任何优雅的方法吗?
Pat*_*rez 14
正确的工具是创建一个包含限制和相应名称的范围.然后,您可以使用vlookup()函数,并将第4个参数设置vlookup()
为创建范围查找.
小智 7
创建它的另一种方法是使用if
条件...意味着你将引用一个具有值的单元格,并根据该值为它提供诸如的桶small
.
例如, =if(b2>30,"large",if(b2>20,"medium",if(b2>=10,"small",if(b2<10,"tiny",""))))
因此,如果单元格b2
的值为12
,则返回该单词small
.
希望这是你正在寻找的.
小智 6
如果您需要做的只是计算每个类别中有多少值,那么这是一个经典的统计问题,可以通过"直方图"非常优雅地解决.
在Excel中,您使用数据分析加载项(如果您还没有,请参阅下面的链接).一旦了解了直方图,就可以将数据分离到桶中 - 称为"箱" - 非常快速,轻松调整箱,并自动绘制数据图表.
这是三个简单的步骤:1)将数据放在一列中2)为您的箱子创建一个列(10,20,30等)3)选择数据 - >数据分析 - >直方图并按照说明进行选择数据范围和分档(您可以将结果放入新工作表并从同一菜单中绘制结果图表)
http://office.microsoft.com/en-us/excel-help/create-a-histogram-HP001098364.aspx
小智 6
创建存储桶的一种好方法是LOOKUP()函数。
在此示例中,包含单元格A1的天数。第二个参数是值列表。第三个参数是存储桶名称列表。
= LOOKUP(A1,{0,7,14,31,90,180,360},{“ 0-6”,“ 7-13”,“ 14-30”,“ 31-89”,“ 90-179”,“ 180 -359“,”> 360“})
可能不是你想要的,但如何使用Excel的条件格式功能
编辑:作为替代,你可以创建一个vba函数,作为一个公式,将为你做计算.就像是
Function getBucket(rng As Range) As String
Dim strReturn As String
Select Case rng.Value
Case 0 to 10
strReturn = "Small"
Case 11 To 20
strReturn = "Medium"
Case 21 To 30
strReturn = "Large"
Case 31 To 40
strReturn = "Huge"
Case Else
strReturn = "OMG!!!"
End Select
getBucket = strReturn
End Function
Run Code Online (Sandbox Code Playgroud)