मेरे पास vlookup फॉर्मूला है जो A2 का मान लेता है और सेल O2 में मेरे लुकअप_टेबल में पाया गया संबंधित मैच देता है, यह लुकअप नीचे की पंक्तियों के लिए जारी है।

ओ: एए में रखे गए परिणामों के साथ ए: एम में मूल्यों की एक श्रृंखला देखने के लिए मैं इस कोड को कैसे संशोधित करूं? या क्या मुझे प्रत्येक कॉलम को अलग से मैन्युअल रूप से कोड करना होगा?

  With Sheets("Example")
    .Range("O2:O" & .Range("A" & Rows.Count).End(xlUp).Row).Formula = _
        "=IF(ISERROR(VLOOKUP(A2,'Lookup_Table'!A:H,4,FALSE)),0,VLOOKUP(A2,'Lookup_Table'!A:H,4,FALSE))"
           .Range("O2:O" & .Range("A" & Rows.Count).End(xlUp).Row).Value = _
        .Range("O2:O" & .Range("A" & Rows.Count).End(xlUp).Row).Value 'Comment out if you'd like to leave the above formula in place
End With

screenshot

0
user3596788 14 नवम्बर 2018, 05:10

1 उत्तर

सबसे बढ़िया उत्तर

मान लें कि Lookup_Table = 'Lookup_Table'!A:H, आप कुछ ऐसा करने की कोशिश कर सकते हैं:

With worksheets("Cross_Walk") ' Assumes Activeworkbook
    .Range("E2:H" & .Range("A" & .Rows.Count).End(xlUp).Row).Formula = _
        "=Iferror(VLOOKUP(A2,'Lookup_Table'!$A:$H,4,FALSE),0)"
    End With
  • हम E2:H? के लिए सूत्र निर्दिष्ट करते हैं, जहां ? अंतिम पंक्ति के लिए निर्धारित है।

  • कोशिकाओं की श्रेणी के लिए समान सूत्र निर्दिष्ट करते समय एक्सेल सापेक्ष और निरपेक्ष संदर्भों को देखता है।

  • इसलिए चूंकि A2 VLOOKUP में एक सापेक्ष पंक्ति और स्तंभ संदर्भ (कोई $ चिह्न नहीं) है, यह B2 में बदल जाएगा जब सूत्र F2 में दर्ज किया जाएगा - और आगे के लिए शेष कॉलम और पंक्तियाँ।

  • साथ ही, यदि आप परीक्षण करने जा रहे हैं कि क्या VLOOKUP का परिणाम एक त्रुटि है, और फिर सशर्त रूप से या तो शून्य या मिलान मान निर्दिष्ट करें, तो आप VLOOKUP को दो बार करने के बजाय - अपने सूत्र में केवल IFERROR का उपयोग कर सकते हैं।

3
chillin 14 नवम्बर 2018, 03:42