यहाँ VBA दृष्टिकोण है। एक्सेल 2007 या बाद में मान लेना; यदि आप Excel के पूर्व-रिबन संस्करण का उपयोग कर रहे हैं तो पहले कुछ चरण अलग होंगे।
डेवलपर टैब सक्षम करें
रिबन पर डेवलपर टैब पर "विज़ुअल बेसिक" पर क्लिक करें
"VBAProject (जो भी आपकी-शीट-is-name.xls *)" पर राइट-क्लिक करें और डालें - & gt; संदर्भ मेनू में मॉड्यूल
इस कोड में पेस्ट करें
Option Explicit
Function allquixotic(param As Variant, search As Range, values As Range, Optional absolute As Boolean = False) As String
Dim sep As String, retval As String
Dim i As Integer, rownum As Integer
Dim look As Range, j As Range
sep = ", "
retval = ""
For i = 1 To search.Rows.Count
Set look = search.Cells(i, 1)
If absolute Then
rownum = look.Row
Else
rownum = i
End If
If look.Value = param Then
If absolute Then
Set j = values.Worksheet.Cells(rownum, values.Column)
Else
Set j = values.Cells(i, 1)
End If
retval = IIf(retval = "", retval & j.Value, retval & sep & j.Value)
End If
Next
allquixotic = retval
End Function
जैसे सूत्र का उपयोग करके वर्कशीट फ़ंक्शन (इसका नाम बदलने के लिए स्वतंत्र महसूस करें) का उपयोग करें
=allquixotic(A1,$A$1:$A$15,$B$1:$B$15,true)
सभी कक्षों में सूत्र को रखने के लिए भरण हैंडल का उपयोग करें
पैरामीटर निम्नलिखित हैं:
=allquixotic(look_cell, key_range, value_range, absolute)
look_cell
: पहला पैरामीटर, ए होना चाहिए एक कोशिका या ए मूल्य शाब्दिक । मान्य इनपुट में जैसी चीजें शामिल हैं 3
, $6.25
, "Hello"
, आदि यह वह मूल्य है जिसे आप खोजने की कोशिश कर रहे हैं key_range
।
key_range
: यह एक होना चाहिए रेंज कोशिकाओं के (एक से अधिक सेल); अगर absolute
सच है तो आपको बहुत ही अजीब परिणाम मिलेंगे जब तक कि यह एक नहीं है मिला हुआ रेंज (सभी मान अनुक्रमिक पंक्तियों में हैं)।
value_range
: यह एक होना चाहिए रेंज कोशिकाओं के (एक से अधिक सेल); अगर absolute
सच है तो आपको बहुत ही अजीब परिणाम मिलेंगे जब तक कि यह एक नहीं है मिला हुआ रेंज (सभी मान अनुक्रमिक पंक्तियों में हैं)।
absolute
: अगर सच है, तो हम इसका इस्तेमाल करेंगे निरपेक्ष पंक्ति संख्या (प्रत्येक के पूरे स्प्रैडशीट में पंक्तियों की संख्या के सापेक्ष) प्रत्येक "मिली" पंक्ति में key_range
यह निर्धारित करने के लिए कि किस पंक्ति से मान निकालने के लिए value_range
पर। यदि गलत है, तो हम सापेक्ष संख्याओं का उपयोग करेंगे; उदाहरण के लिए, यदि हम में एक मैच पाते हैं तीसरा की पंक्ति key_range
, तो हम से मूल्य निकालेंगे तीसरा की पंक्ति value_range
। अनुशंसित मूल्य FALSE है, या आप इसे उस पर डिफ़ॉल्ट करने के लिए छोड़ सकते हैं।
ध्यान दें : यह फ़ंक्शन उस मामले का समर्थन नहीं करता है जहां कुंजी और मान श्रेणी में हैं कॉलम , लेकिन इसे उसी के अनुकूल बनाना काफी आसान होना चाहिए।
इसके अलावा, यदि आप key_range या value_range में कई कॉलम निर्दिष्ट करते हैं, तो केवल सबसे बाएं कॉलम का उपयोग किया जाएगा।