合并發(fā)票號(hào)碼太難了,用公式想破腦,真心疼做會(huì)計(jì)的你原始數(shù)據(jù),合并后要這種效果,發(fā)票號(hào)碼不連續(xù)的用逗號(hào)隔開,連續(xù)的用小值和值分隔符號(hào)是橫杠。這種用公式真的想破腦,實(shí)在太麻煩了,用了好幾個(gè)輔助列才搞定。
今天,分享一個(gè)簡(jiǎn)化版的,發(fā)票號(hào)碼只有一個(gè)或者連續(xù)的,這種就好處理很多。
現(xiàn)在分步說明:
如果供應(yīng)商只有一個(gè),就返回單個(gè)發(fā)票號(hào)碼。用COUNTIF判斷次數(shù)。
IF(COUNTIF(A:A,A2)=1,B2,
如果供應(yīng)商多個(gè),就返回對(duì)應(yīng)的個(gè)和后一個(gè)發(fā)票。個(gè)用VLOOKUP,后一個(gè)用LOOKUP。
VLOOKUP(A2,A:C,2,0)
LOOKUP(1,0/(A2=A:A),B:B)
將這幾個(gè)公式合并起來,結(jié)果是沒問題,不過只要在個(gè)供應(yīng)商顯示,其他顯示空白。
=IF(COUNTIF(A:A,A2)=1,B2,VLOOKUP(A2,A:C,2,0)&"-"&LOOKUP(1,0/(A2=A:A),B:B))
判斷首次出現(xiàn),可以用COUNTIF區(qū)域混合引用。
=COUNTIF(A$2:A2,A2)=1
不過這里有一個(gè)特點(diǎn),直接利用上下行內(nèi)容不一樣就可以。
=A2<>A1
再將所有公式結(jié)合起來就搞定。
=IF(A2<>A1,IF(COUNTIF(A:A,A2)=1,B2,VLOOKUP(A2,A:C,2,0)&"-"&LOOKUP(1,0/(A2=A:A),B:B)),"")
匯總金額這個(gè)很簡(jiǎn)單,SUMIF條件求和就行。
=IF(A2<>A1,SUMIF(A:A,A2,C:C),"")
再順便說下,如果供應(yīng)商一樣,就將所有發(fā)票號(hào)碼全部用逗號(hào)隔開。
先用IF判斷供應(yīng)商是否一樣,如果一樣就返回發(fā)票號(hào)碼,否則返回空白。這是多單元格數(shù)組公式,并不能直接在一個(gè)單元格顯示結(jié)果。
=IF($A$2:$A$13=A2,$B$2:$B$13,"")
再用TEXTJOIN將結(jié)果合并起來,輸入公式后要按Ctrl+Shift+Enter結(jié)束。
=TEXTJOIN(",",1,IF($A$2:$A$13=A2,$B$2:$B$13,""))
再嵌套IF顯示在個(gè)單元格。
=IF(A2<>A1,TEXTJOIN(",",1,IF($A$2:$A$13=A2,$B$2:$B$13,"")),"")
簡(jiǎn)化版的到這里就解決了,原始版的其實(shí)再多增加幾個(gè)條件就行,這里就不再說明,有興趣的可以動(dòng)下腦子。