纳速健身

标题: Excel函数教程:怎么让 excel 实现类似switch函数的功能 [打印本页]

作者: awagink    时间: 2015-8-21 12:09
标题: Excel函数教程:怎么让 excel 实现类似switch函数的功能
A1单元格是个下拉菜单,里面的选项分别是商品1~商品10,现在我想在B1单元格里面实现这样的功能:当A1选择完商品种类后,B1能够自动填充该商品的价格,不知道如何实现,还望大虾指点!

如果用VBA编程的话,麻烦请详细说下步骤~~~比如怎么插入VBA代码,怎么连接VBA代码到单元格……
(, 下载次数: 5)

解答:
方法一
用Vlookup就行啊!相信你一定有一个价格列表吧。那你就在B1里输入
=vlookup(A1,列表区域,2,0)
试试吧。追问:
没有明白您的意思,因为我是要根据所选商品自动填充价格的,所以没有价格列表

追答:
没有价格列表那怎么知道商品的价格呢?Excel去哪里查询呢?

追问:
那能不能整合到函数里面呢?

追答:
如果你就10种商品的话还好说,再多就不划算了。假设你"商品1"的价格是"价格1“, 那你就在B1里入
=vlookup(A1,{"商品1“,"价格1”;"商品2“,"价格2”;"商品3“,"价格3”;..."商品10“,"价格10”},2,0)

方法二
假设我有一组区间条件,比如大于1且小于100,大于100且小于1000,能不能用简便一些的方法让一列数和这些条件比较,然后返回这些条件对应的值。
像choose,if嵌套的太麻烦了,有30多个区间条件,所以请各位大虾指点指点我这个小盆友

刚回答的问题,应该与你说的类似:
问题:A1数值0~7时,B1自动显示为1,8-14时B1为2,15-21时B1为3,22-28时B1为4,29-35时B1为5,36-42时B1为6,43-49时B1为7

我的回答:
未说50以上为多少,假设为8
=LOOKUP(A1,{0,8,15,22,29,36,43,50},{1,2,3,4,5,6,7,8})


方法三
以N的取值范围判断
1~10 :R=N+X
11~20:R=N-Y
其他:R=N*Z
不用宏,有函数能直接实现吗? choose(x,a,b,c,.....)
其中x为条件值,取值范围为1、2、3、...,a,b,c,....为条件输出。

方法四
EXCEL里的CASE语句如何设定多个条件

excel里用的是VB语言,其case语句的”或“条件用逗号表示,例如:
Function lzxz(yy)
Select Case yy
Case "离休", "退休"
lzxz = "正常"
End Select














欢迎光临 纳速健身 (https://www.nasue.com/) Powered by Discuz! X3.4