网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月09日漏签0天
excel吧 关注:281,064贴子:1,546,345
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 38回复贴,共1页
<<返回excel吧
>0< 加载中...

【多条件匹配】萌新求助

  • 只看楼主
  • 收藏

  • 回复
  • wlyn1
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
图二中”量、价“,如何自动匹配图一中的源数据并显示?请求给个公式



  • 宁源儿1807
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
名称那一列做成合并单元格,公式就有点麻烦了。。。
要不然一个sumifs就解决了


北京勤哲软件技术
勤哲Excel服务器软件2025,用Excel自动生成基于web,移动APP和PC的excel报表制作。软博会金奖产品,适合于各行各业的管理人员使用。
2025-05-09 20:33广告
立即查看
2025-05-09 20:33:34
广告
  • 🎶虚空蛋黄酱
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
把左边合并单元格拆开,合并单元格那里有个“拆分并填充内容”,然后C列左边插入一列,C2填=A2&B2,下面的表也把合并单元格拆开填充,涉及到计算的部分尽量别出现合并单元格,不然真的很麻烦
然后公式倒是很简单,index和match连用就可以


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

Option Explicit
Sub abc()
 Dim a, i, p, t, d
 a = [a1].CurrentRegion.Offset(1).Resize(, 4).Value
 Set d = CreateObject("scripting.dictionary")
 For i = 1 To UBound(a) - 1
  If Len(a(i, 1)) Then p = i
  d(a(p, 1) & a(i, 2)) = Array(a(i, 3), a(i, 4))
 Next
 a = [f1].CurrentRegion.Offset(1).Resize(, 4).Value
 For i = 1 To UBound(a) - 1
  If Len(a(i, 1)) Then p = i
  t = a(p, 1) & a(i, 2)
  If d.exists(t) Then
   a(i, 3) = d(t)(0): a(i, 4) = d(t)(1)
  Else
   a(i, 3) = Empty: a(i, 4) = Empty
  End If
 Next
 [f1].CurrentRegion.Offset(1).Resize(, 4) = a
End Sub


  • lvcha青青
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
=IFERROR(INDEX(C:C,SMALL(IF((LOOKUP(ROW($2:$24),ROW($2:$24)/($A$2:$A$24<>""),$A$2:$A$24)=LOOKUP("座",$F$2:$F2))*($B$2:$B$24=$G2),ROW($2:$24),""),1)),"")
CTRL+SHIFT+回车
然后右拉一格再下拉


  • 阿良
  • E夫当关
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼


  • wlyn1
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请问如何使【右表】自动匹配左表L/N列的数据?(N列=增量(资源池)+额外量)
还有:存量总价、增量总价如何自动匹配生成。


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

'你这输出表格设计的有问题,这只是一个转置的表格
Option Explicit
Sub abc()
 Dim a, i, m, n, p, d(1)
 a = [a1].CurrentRegion.Resize(, 4).Value
 ReDim b(UBound(a), 30) '最多支持30个种类
 For i = 0 To UBound(d)
  Set d(i) = CreateObject("scripting.dictionary")
 Next
 For i = 2 To UBound(a)
  If Len(a(i, 1)) Then p = i
  If Not d(0).exists(a(p, 1)) Then m = m + 1: d(0)(a(p, 1)) = m: b(m, 0) = a(p, 1)
  If Not d(1).exists(a(i, 2)) Then n = n + 1: d(1)(a(i, 2)) = n: b(0, n) = a(i, 2)
  b(d(0)(a(p, 1)), d(1)(a(i, 2))) = b(d(0)(a(p, 1)), d(1)(a(i, 2))) + a(i, 3)
 Next
 [f1].Resize(m + 1, UBound(b, 2) + 1) = b
End Sub


武汉益旺达广告业
Office是经典的办公软件包含了Excel、Word、PPT等多种组件,支持数据同步云办公,也是电脑办公必备的软件之一,点击下载
2025-05-09 20:33广告
立即查看
2025-05-09 20:27:34
广告
  • wlyn1
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
从表2中匹配数据至表3


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
'大概猜了一下,但O列跟M列相同,O列是额外量盈利的吧
Option Explicit
Sub abc()
 Dim a, i
 a = Range("f2:i" & [g1].End(xlDown).Row).Value
 If UBound(a) Mod 3 Then MsgBox "!"
 ReDim b(1 To UBound(a) / 3, 1 To 5)
 For i = 1 To UBound(a) Step 3
  b((i + 2) / 3, 1) = a(i, 1)
  b((i + 2) / 3, 2) = a(i + 1, 3)
  b((i + 2) / 3, 3) = a(i + 1, 3) * a(i + 1, 4)
  b((i + 2) / 3, 4) = a(i, 3) + a(i + 2, 3)
  b((i + 2) / 3, 5) = a(i + 2, 3) * a(i + 2, 4)
 Next
 [k2].Resize(UBound(b), 5) = b
End Sub


  • wlyn1
  • E见钟情
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
晚上的公式很好用,但表2(增量、存量)位置调换后,公式不再起作用。请大佬指点🙏


  • 菠萝蜜
  • E览无余
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
'O列结果还是猜的,因为有2中可能
Option Explicit
Sub abc()
 Dim a, i
 a = Range("f2:i" & [g1].End(xlDown).Row).Value
 If UBound(a) Mod 3 Then MsgBox "!"
 ReDim b(1 To UBound(a) / 3, 1 To 5)
 For i = 1 To UBound(a) Step 3
  b((i + 2) / 3, 1) = a(i, 1)
  b((i + 2) / 3, 2) = a(i, 3)
  b((i + 2) / 3, 3) = a(i, 3) * a(i, 4)
  b((i + 2) / 3, 4) = a(i + 1, 3) + a(i + 2, 3)
  b((i + 2) / 3, 5) = a(i + 1, 3) * a(i + 1, 4) + a(i + 2, 3) * a(i + 2, 4)
 Next
 [k2].Resize(UBound(b), 5) = b
End Sub


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 38回复贴,共1页
<<返回excel吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示