乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Excel一對(duì)多查找自定義函數(shù)

       心靈地圖sxh 2019-01-27

      經(jīng)常碰到有人想把相同的內(nèi)容對(duì)應(yīng)數(shù)據(jù)合并顯示,說(shuō)得有點(diǎn)繞,看下圖就明白:

      20161201/20161201160012822.png

      右邊的很不利于統(tǒng)計(jì)數(shù)據(jù),只適合看。既然很多人問(wèn),就說(shuō)說(shuō)如用用自定義函數(shù)的方法實(shí)現(xiàn)。

      為什么不用公式呢?因?yàn)楣诫y度很多,Excel公式對(duì)處理文本合并的功能很弱。


      Alt + F11,進(jìn)入代碼編輯界面。再新建一個(gè)模塊,插入如下代碼:

      1. Public Function SLookUp(
      2.     lookup_value As String, 
      3.     table_array As Range, 
      4.     col_index_num As Long, 
      5.     Optional delimiter As String = ","
      6.     ) As String
      7.     
      8.     '單元格選區(qū)優(yōu)化,避免選擇整列之后,遍歷過(guò)多無(wú)用的單元格'
      9.     Dim row_max As Long
      10.     row_max = Cells(65536, table_array.Columns(1).Column).End(xlUp).Row
      11.     
      12.     Dim arr As Variant, i As Long
      13.     arr = table_array.Resize(row_max - table_array.Row + 1).Value
      14.  
      15.     For i = 1 To UBound(arr)
      16.         '判斷是否等于查找的值'
      17.         If arr(i, 1) = lookup_value Then
      18.             '返回并組合對(duì)應(yīng)列的值'
      19.             SLookUp = SLookUp & delimiter & arr(i, col_index_num)
      20.         End If
      21.     Next
      22.     
      23.     '去掉開(kāi)頭的分隔符'
      24.     SLookUp = Mid(SLookUp, Len(delimiter) + 1)
      25. End Function

      對(duì)應(yīng)的參數(shù)含義如下:

      lookup_value:   必填,要查找的值

      table_array:    必填,查找范圍

      col_index_num:  必填,返回第幾列的值

      delimiter:      選填,分隔字符


      該自定義函數(shù)原理很簡(jiǎn)單。循環(huán)遍歷單元格的值,只要碰到和條件相同的值,就找合并內(nèi)容。

      其中為了避免使用自定義函數(shù)時(shí),選中整列,導(dǎo)致遍歷了很多無(wú)需遍歷的單元格。其中加了優(yōu)化選區(qū)的處理。

      用法和Vlookup差不多,或者說(shuō)我把這個(gè)自定義函數(shù)設(shè)計(jì)得和Vlookup差不多。如下圖:

      20161201/20161201161337864.png

      以E2單元格的公式為例,解析一下用法:

      第1個(gè)參數(shù)是D2,即查找D2的值;

      第2個(gè)參數(shù)是A:B,即在A:B列中查找;

      第3個(gè)參數(shù)是2,即合并A:B列中的第2列找到的值;

      第4個(gè)參數(shù)沒(méi)填,則默認(rèn)使用逗號(hào)分隔。


      當(dāng)然,你也可以把第4個(gè)參數(shù)寫(xiě)成你需要的分隔符:

      20161201/20161201161632717.png

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多