簡體   English   中英

Excel - 如果單元格范圍等於列表中的值,我想填充另一個單元格的值

[英]Excel - if a range of cells equals a value from a list I want to populate the value of another cell

我正在嘗試編寫一個公式,如果一系列單元格等於列表中特定的值,則該公式將返回一個單元格的值。

例如:

    A1 = Orange
    B1:B5 = My Data 
    If B1:B5 = Red, Blue, or Green, display the value from A1

謝謝你的幫助!

Dim a as Range, listValues() as string 'array of string
Dim str as string, i as integer


str = "Red;Blue;Green"
listValues = Split(str,";") 'split str using ";"
for i= Lbound(listValues) to Ubound(listValues) 'loop thru the array
    Set a = ActiveSheet.UsedRange.Find(what:=listValues(i), lookat:=xlWhole) 
    if Not a Is Nothing Then
        'value found
        a.value = Range("A1").value
    end if
next i

我已經調整了 @Davesexcel 的分辨率,請檢查他的分辨率: 如何避免在 VBA 中使用 select 來處理可變單元格范圍?

RonDeBruin 的這個決議也很好:

http://www.rondebruin.nl/win/s9/win006.htm

將您的值放在列中的某個位置:

在此處輸入圖片說明

然后是C1中的一個簡單公式:

=IF(ISNUMBER(MATCH(B1,E:E,0)),$A$1,"")

如果找到匹配項,它將返回其行號。 If 測試它是數字還是錯誤。 如果是數字,則找到匹配項並返回 A1 中的值。 否則它返回一個空字符串。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM