excel 单元格内包含A+B(以及仅包含A或B)复制另外指定单元格数值到其他指定单元格

如图所示:
表达式要适用于整张表单...看了半天度娘,研究不透....大神来帮忙啊
1、如果例如第2行情况:A2单元格内容仅包含‘收入’这个关键词,那么在B2中录入的数值‘200’将被复制到C2和F2
2、如果例如第3行情况:A3单元格内容不仅包含"收入"而且还包含“公卡”这两个关键词,那么在B3中录入的数值“100”将被复制到C3和G3
3、如果例如第4行情况:A4单元格内容不仅包含“收入“而且还包含“私卡”这两个关键词,那么在B4中录入的数值“50”将被复制到C4和E4

4、如果例如第6行情况:A6单元格内容仅包含‘支出’这个关键词,那么在B6中录入的数值‘100’将被复制到D6,但是变成负值后复制到F6
5、如果例如第7行情况:A7单元格内容不仅包含"支出"而且还包含“公卡”这两个关键词,那么在B7中录入的数值“200”将被复制到D3,但是变成负值后复制到F6
6、如果例如第8行情况:A8单元格内容不仅包含“支出”而且还包含“私卡”这两个关键词,那么在B8中录入的数值“300”将被复制到D8,但是变成负值后复制到E8

7、如果例如第10行情况:A10单元格内容仅仅包含“公卡转私卡”这个关键词,那么在B10中录入的数值“100”将被复制到E10,但是变成负值后复制到G10
8、如果例如第11行情况:A11单元格内容仅仅包含“公卡转现金”这个关键词,那么在B11中录入的数值“100”将被复制到F11,但是变成负值后复制到G11
9、如果例如第12行情况:A12单元格内容仅仅包含“现金转私卡”这个关键词,那么在B12中录入的数值“100”将被复制到E12,但是变成负值后复制到F12
10、如果例如第13行情况:A13单元格内容仅仅包含“现金转公卡”这个关键词,那么在B13中录入的数值“100”将被复制到G13,但是变成负值后复制到F13

这个怎么破?

迟了些还是发了吧!

C2=SUMIF(A3,"*收入*",B3)

D2=SUMIF(A3,"*支出*",B3)

E2=SUMPRODUCT(IF(COUNTIF(A3,"*支出*"),-1,1)*COUNTIF(A3,"*私卡*")*B3)

F2=SUMPRODUCT(MIN(IF(COUNTIF(A3,{"*支出*","现金转"}),-1,1))*MAX(COUNTIF(A3,{"*现金*","支出*","收入*"}))*B3)

G2

 

=SUMPRODUCT(MIN(IF(COUNTIF(A3,{"*支出*","公卡转*"}),-1,1))*COUNTIF(A3,"*公卡*"))*B3

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-09

    单元格C2和F2输入公式: =IF(ISERROR(FIND("收入",A2)),"",B2)

    单元格C3和G3输入公式:=IF(ISERROR(AND(FIND("收入",A3),FIND("公卡",A3))),"",B3)

    单元格C3和E4输入公式:=IF(ISERROR(AND(FIND("收入",A4),FIND("私卡",A4))),"",B4)

    单元格D6输入公式:=IF(ISERROR(FIND("支出",A6)),"",B6)  

    单元格F6输入公式:=IF(ISERROR(FIND("支出",A6)),"",-B6)  

    单元格D3输入公式:=IF(ISERROR(AND(FIND("支出",A7),FIND("公卡",A7))),"",B7)

    单元格F6输入公式:=IF(ISERROR(AND(FIND("支出",A7),FIND("公卡",A7))),"",-B7)

    单元格D8输入公式:=IF(ISERROR(AND(FIND("支出",A8),FIND("私卡",A8))),"",B8)

    单元格E8输入公式:=IF(ISERROR(AND(FIND("支出",A8),FIND("私卡",A8))),"",-B8)


其他的单元格公式就不打了。。。自己类推就是。

第2个回答  推荐于2016-03-16
填入公式,下拉填充。
C2:=IF(ISERR(SEARCH("收入",A2)),"",B2)
D2:=IF(ISERR(SEARCH("支出",A2)),"",B2)
E2:=IF(ISERR(SEARCH("私卡",A2)),"",IF(OR(ISERR(SEARCH("私卡转",A2))=FALSE,ISERR(SEARCH("支出",A2))=FALSE),-B2,B2))
F2:=IF(OR(ISERR(SEARCH("现金",A2))=FALSE,LEFT(A2,2)="收入",LEFT(A2,2)="支出"),IF(OR(ISERR(SEARCH("现金转",A2))=FALSE,ISERR(SEARCH("支出",A2))=FALSE),-B2,B2),"")
G2:=IF(ISERR(SEARCH("公卡",A2)),"",IF(OR(ISERR(SEARCH("公卡转",A2))=FALSE,ISERR(SEARCH("支出",A2))=FALSE),-B2,B2))本回答被提问者采纳
第3个回答  2014-07-09

用SUMIF函数就能轻松搞定

稍候上个例表给你看看


======================

描述太啰嗦了没细看

看看截图就做表了

第4个回答  2014-07-09
用vba来做吧,公式可以但会很长。需要帮忙写代码就追问。