人气 4361

[Excel技巧] Excel按条件合并多个单元格的内容到指定单元格内 [复制链接]

谁于争锋 2017-10-16 16:25:30
在excel表格中,我们有时需要合并多个单元格的内容到指定的单元格中。如图,比方说需要把每个人购买的水果合并到一个单元格内。每个水果用“,”隔开。

1508142478371364.png

1508142478371364.png

Excel中有自带函数CONCATENATE,它可以将多个文本字符串合并成一个文本字符串,但它不能指定条件合并某些单元格的内容到一个单元格,这时CONCATENATE函数无法实现。
自定义函数:FunctionCONCATENATEIF(rng1AsRange,rng2AsRange,criteriaAsString,separatorAsString)AsString
Dimarr()
DimrCellAsRange
DimiAsInteger,jAsInteger
OnErrorResumeNext
j=WorksheetFunction.CountIf(rng2,criteria)
Ifj>0Then
ReDimarr(0Toj-1)
ForEachrCellInrng2
IfWorksheetFunction.CountIf(rCell,criteria)Then
arr(i)=rng1.Item(1).Offset(rCell.Row-rng2.Row,rCell.Column-rng2.Column).Value
i=i+1
EndIf
Next
Fori=0Toj-1
CONCATENATEIF=CONCATENATEIF&arr(i)&IIf(ij-1,separator,"")
Next
EndIf
EndFunction
此自定义函数CONCATENATEIF有四个参数,分别是①需要连接单元格内容的区域(通常为单行或单列)、②条件区域,③条件,④分隔符。注意:函数可以使用“*“,”?”等通配符.
在单元格中录入函数,填写相关的参数即可:=CONCATENATEIF(C2:C14,B2:B14,F2,",")效果如下图:

1508142653134069.png

1508142653134069.png
您需要登录后才可以回帖 登录 | 立即注册

QQ|手机版|精益人 ( 沪ICP备19004111号-1 )

GMT+8, 2024-5-19 06:46 , Processed in 0.231797 second(s), 22 queries .

Powered by Lean.ren X3.5 Licensed  © 2001-2030 LEAN.REN