永发信息网

关于Excel模糊条件中引用单元格内容的问题! 期待excel高手帮助。

答案:2  悬赏:30  手机版
解决时间 2021-04-04 05:55
  • 提问者网友:十年饮冰
  • 2021-04-03 06:15
近期由于工作需要,遇到一个问题。
数据表A是姓名,B是收入,C列计算所有姓张的收入
公式是sumif(A1:A10, “*张*",B1:B10) .
如果D列是“赵钱孙李……”这样的形式,我怎样写公式才能在D列后统计每个姓氏的收入呢?也就是把“张”这个字替换成D列表格中的内容进行模糊计算。
最佳答案
  • 五星知识达人网友:骨子里都是戏
  • 2021-04-03 06:34
假设“赵钱孙李……”从D1开始到D10
在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列,把表头加上,然后把这三列复制到一个新工作表中,就可以导入了。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯