近期由于工作需要,遇到一个问题。
数据表A是姓名,B是收入,C列计算所有姓张的收入
公式是sumif(A1:A10, “*张*",B1:B10) .
如果D列是“赵钱孙李……”这样的形式,我怎样写公式才能在D列后统计每个姓氏的收入呢?也就是把“张”这个字替换成D列表格中的内容进行模糊计算。
关于Excel模糊条件中引用单元格内容的问题! 期待excel高手帮助。
答案:2 悬赏:30 手机版
解决时间 2021-04-04 05:55
- 提问者网友:十年饮冰
- 2021-04-03 06:15
最佳答案
- 五星知识达人网友:骨子里都是戏
- 2021-04-03 06:34
假设“赵钱孙李……”从D1开始到D10
在E1写公式“=sumif($A$1:$A$10, “*"&D1&"*",$B$1:$B$10) ”,向下填充至E10即可。
试试吧,有问题再讨论,祝你成功!
在E1写公式“=sumif($A$1:$A$10, “*"&D1&"*",$B$1:$B$10) ”,向下填充至E10即可。
试试吧,有问题再讨论,祝你成功!
全部回答
- 1楼网友:长青诗
- 2021-04-03 07:44
用宏很快的。
假设数据在第a到f列,”秦楠“在单元格a2,如果不是,调整为这样。
同时按alt和f11进入宏界面,点菜单的插入,模块,粘贴如下代码:
sub test()
dim i, l as integer
dim j, k, n, b as byte
dim xnb, xstr as string
application.screenupdating = false
l = 2
for i = 2 to range("a65000").end(xlup).row
xnb = cells(i, 3)
n = len(xnb) - len(replace(xnb, "年", ""))
for j = 1 to n
xstr = left(xnb, instr(3, xnb & "x年", "年") - 3)
b = len(xstr) - len(replace(xstr, "、", ""))
for k = 1 to b + 1
cells(l, 7) = cells(i, 1)
cells(l, 8) = cells(i, 2)
cells(l, 9) = left(xstr, 2) & mid(xstr, 3 + k * 2, 1)
l = l + 1
next k
xnb = right(xnb, application.worksheetfunction.max(len(xnb) - instr(3, xnb & "x年", "年"), 0) + 2)
next j
next i
for i = 2 to range("d65000").end(xlup).row
xnb = cells(i, 6)
n = len(xnb) - len(replace(xnb, "年", ""))
for j = 1 to n
xstr = left(xnb, instr(3, xnb & "x年", "年") - 3)
b = len(xstr) - len(replace(xstr, "、", ""))
for k = 1 to b + 1
cells(l, 7) = cells(i, 4)
cells(l, 8) = cells(i, 5)
cells(l, 9) = left(xstr, 2) & mid(xstr, 3 + k * 2, 1)
l = l + 1
next k
xnb = right(xnb, application.worksheetfunction.max(len(xnb) - instr(3, xnb & "x年", "年"), 0) + 2)
next j
next i
dim daxie(1 to 9) as string
daxie(1) = "一"
daxie(2) = "二"
daxie(3) = "三"
daxie(4) = "四"
daxie(5) = "五"
daxie(6) = "六"
daxie(7) = "七"
daxie(8) = "八"
daxie(9) = "九"
for j = 1 to 9
columns("i:i").replace what:=j, replacement:=daxie(j)
next j
application.screenupdating = true
end sub
在此界面下按f5运行此宏,完成。
数据在g到i列,把表头加上,然后把这三列复制到一个新工作表中,就可以导入了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯