请教EXCEL大神!如何根据单元格值决定执行另一单元格某段函数
excel吧
全部回复
仅看楼主
level 1
下表中“E2”根据“D2”单元格数值生成内容.
E2的函数:=IF(OR(D2="L1",D2="L2",D2="L3"),"电源电路",IF(OR(D2="R1",D2="R2",D2="R3"),"逻辑电路",IF(OR(D2="D1",D2="D2",D2="D3"),"保护电路",IF(OR(D2="U1",D2="U2",D2="U3"),"通讯电路",""))))
我想要根据"B2"的内容,决定E2执行某一段函数.
1. "B2"=“电机类”时,"E2"需要执行:
=IF(OR(D2="L1",D2="L2",D2="L3"),"电源电路",IF(OR(D2="R1",D2="R2",D2="R3"),"逻辑电路",IF(OR(D2="D1",D2="D2",D2="D3"),"保护电路",IF(OR(D2="U1",D2="U2",D2="U3"),"通讯电路",""))))
2. “B2”=“电池类”时,"E2"需要执行:
=IF(OR(D2="L1",D2="L2",D2="L3"),"保护电路",IF(OR(D2="R1",D2="R2",D2="R3"),"通讯电路",IF(OR(D2="D1",D2="D2",D2="D3"),"电源电路",IF(OR(D2="U1",D2="U2",D2="U3"),"逻辑电路",""))))
2021年12月28日 07点12分 1
level 10
=INDEX($J$2:$K$13,MATCH($D2,$I$2:$I$13,),MATCH($B2,$J$1:$K$1,))
2021年12月28日 07点12分 2
level 10
=IF(B2="电机类",LOOKUP(1,0/SEARCH({"L";"R";"D";"U"},$D2),{"电源电路";"逻辑电路";"保护电路";"通讯电路"}),LOOKUP(1,0/SEARCH({"L";"R";"D";"U"},$D2),{"保护电路";"通讯电路";"电源电路";"逻辑电路"}))
如果不想用辅助列,可以直接用这个公式
2021年12月28日 08点12分 3
level 4
我是小白,我的想法是,可以把要执行的N个代码分别以文本形式放在N个单元格中。然后在另一个单元格中,结合indirect函数写一个IF函数。比如=IF("E2"="电机类",indirect (K1),IF("E2"="电池类",indirect (K2),)) 其中K1和K2存放代码文本
2021年12月28日 09点12分 4
level 1
谢谢各位大神了,小弟明天去试试。
2021年12月28日 09点12分 5
level 8
=IFERROR(MID("电源逻辑保护通讯电源逻辑",2*FIND(LEFT($D2,1),"LRDU")+4*(B2="电池类")-1,2)&"电路","")
2021年12月29日 05点12分 8
1