![](/img/trans.png)
[英]Getting Excel add ins to modify array formula parameters; or perform 'ctrl-shift-enter'
[英]Excel VBA - User Defined Function - converting array related formula (CTRL + SHIFT + ENTER on a normal formula) to a UDF
我一直在繞過與我的問題非常相似的幾個線程。 但是,有多種解釋可能不適用於我的情況。 我有這個“常規” excel公式:
={IF(OR(ISNUMBER(SEARCH($O$2:$O$2000,A2))), INDEX($P$2:$P$2000, MATCH(TRUE, ISNUMBER(SEARCH($O$2:$O$2000, A2)),0)), "")}
我想使用以下參數將其轉換為Excel VBA函數
FUNCTION ADVLOOKUP(TAG, SENTENCESTOLOOKAT, WORDSTOLOOKUP)
TAG =表示原始公式中的P列,該列將置於表示SENTENCESTOLOOKAT的每個單元格/行旁邊
SENTENCESTOLOOKAT =表示A2或公式要定位的列A上的任何單元格。 這是一個包含WORDSTOLOOKUP中的任何一個的句子
WORDSTOLOOKUP =表示列O,它是每個SENTENCESTOLOOKAT上要檢查的要搜索單詞的清單
抱歉,我無法發布Excel文件,因為顯然我的信譽/代表得分很低。 :(但是,如果您能建議上述Excel公式是否可以轉換為UDF,我將不勝感激。
謝謝!
要僅返回一個值,可以使用一個簡單的調用來評估:
Function ADVLOOKUP(TAG As Range, SENTENCESTOLOOKAT As Range, WORDSTOLOOKUP As Range)
ADVLOOKUP = SENTENCESTOLOOKAT.Worksheet.Evaluate("INDEX(INDEX(" & TAG.Address & ",MATCH(TRUE,ISNUMBER(SEARCH(" & _
WORDSTOLOOKUP.Address & "," & SENTENCESTOLOOKAT.Address & ")),0)),)")
End Function
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.