Excel中如何实现查表并匹配公式?

B列为变量,表1D列使用公式,公式在E列写出。需求:以表1为参考,算出表2黄色部分的值。例如:A8为AAAA,对应表1第二行,D8的值套用D2的公式,将B2换成B8,得到... B列为变量,表1 D列使用公式,公式在E列写出。
需求:以表1为参考,算出表2黄色部分的值。
例如:A8为AAAA,对应表1第二行,D8的值套用D2的公式,将B2换成B8,得到值2.057.
不要VBA或者编程语言,想简单实现,只用公式,请教。
展开
 我来答
退休画线工
2019-05-14 · 知道合伙人软件行家
退休画线工
知道合伙人软件行家
采纳数:5412 获赞数:27055
1981年毕业于湖南大学,从事化工设计30多年,精于工程设计

向TA提问 私信TA
展开全部

如果公式的个数不是很多,用定义名称或公式都还比较容易弄,但如果公式很多的话,就有些麻烦,倒不是怎么难,而是繁冗。相对来说,直接公式法还可简单些。

先说宏表函数法,将光标定位到用输入公式的单元格,定义名称,名称最好与A列对应或直接用A列的内容,引用单元格中即复制粘贴单元格中的公式的内容,根据需要可在列标前加上符号$,这样以后引用名称就会在一行中任何位置都会引用加了列标的列数据,如$B,无论在D列还是E列或其他列,得到结果都是引用B列的数据进行计算。如图定义了4个名称。

然后在要引用公式的地方用下面的公式:

D8=CHOOSE(VLOOKUP(A8,IF({1,0},A$2:A$5,{1;2;3;4}),2,),AA,BB,CC,DD)

再说直接公式法,如果如提问截图所示,不同的公式仅是公式中的系数(与引用单元格有相乘关系)和常数(与引用单元格为加减关系)不同,公式的结构形式一致的话,直接用公式还是比较简单的,如图,用两个vlookup分别得到A列对应的系数和常数,再代入公式即可:

E8=VLOOKUP(A8,IF({1,0},$A$2:$A$5,{0.11;0.58;0.52;0.5}),2,)*(B8*0.9-VLOOKUP(A8,IF({1,0},$A$2:$A$5,{0.2;0.1;0.1;0.1}),2,))

可见两种方法的结果完全一致。

如果公式数据少,像上面一样直接在公式中列出系数和常数也不算太费时。但如果要引用的公式很多的,这样的方式就显得很笨拙了。这时可用FORMULATEXT把已列出的公式内容提取出来 ,再用文本函数把系数和常数分别提出来,公式中的VLOOKUP就可以去引用提取的数据列了。公式会简洁得多。

在朱家尖休息的露珠

2019-05-12 · TA获得超过4082个赞
知道大有可为答主
回答量:2726
采纳率:87%
帮助的人:165万
展开全部

你好,很高兴能为你解答。
你这个可以将你E列的公式把等号去掉,然后再用文本公式函数evaluate和提取字符串函数和VLOOKUP函数组合来完成
如果你的是WPS的话就可以直接使用evaluate函数,如果不是的话,就需要使用公式里面的名称管理器来设置
公式如下:
=EVALUATE(LEFT(VLOOKUP(A8,$A$2:$D$5,4,0),FIND("B",VLOOKUP(A8,$A$2:$D$5,4,0)))&ROW()&"*"&RIGHT(VLOOKUP(A8,$A$2:$D$5,4,0),FIND("0.9",VLOOKUP(A8,$A$2:$D$5,4,0))-2))
效果图如下


最后效果图如下


在车上,手机操作真恼火
望采纳,谢谢!

更多追问追答
追问
车上回答,非常感谢!
使用Excel,evaluate无法使用... 使用了定义函数,参考第一个回答。
当AAAA/BBBB/CCCC/DDDD不止4类,if语法会很长,不好管理。希望通过查表A2到D5,
调用对应的函数名,直接得到值。请问还有什么技巧吗?
追答
把原本的公式使用数据-分列-下一步-文本,把公式改为文本后,在进行一次分列,把数据分列出来再做
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miao_blue
2019-05-12 · 超过24用户采纳过TA的回答
知道答主
回答量:57
采纳率:57%
帮助的人:19.7万
展开全部

使用定义名称,再结合if嵌套使用
1.先分别将已有的四个公式定义名称。公式~定义名称~例如:AA


2.在D8输入公式

=if(A8="AAAA",AA,if(A8="BBBB",BB,if(A8="CCCC",CC,if(A8="DDDD",DD,""))))

下拉

更多追问追答
追问
谢谢。
当AAAA/BBBB/CCCC/DDDD不止4类,if语法会很长,不好管理。希望通过通过查表A2到D5,算出值。
尝试定义完函数后,使用vlookup,只能返回函数的名字... 有什么技巧返回值吗?
追答
查找函数返回的基本上都是值吧。返回公式可能有其他方法或是vba,但是我不会。希望其他大大能给你满意的解答。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
柔软的Bp
科技发烧友

2019-05-14 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:3万
采纳率:66%
帮助的人:8122万
展开全部

建立一个 对应表,用VLOOKUP

再多的项目都可以

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我来也xsczd
科技发烧友

2019-05-14 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:1.2万
采纳率:66%
帮助的人:1717万
展开全部
在D8单元格输入公式:
=IFERROR(LOOKUP(A8,$A$2:$A$5,{0.11,0.58,0.52,0.5})*(B8*0.9-0.1*(1+(A8=$A$2))),"")
复制并下拉,即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式