Excel सूत्र: कॉलम हटाने के लिए फ़िल्टर -

सामान्य सूत्र

=FILTER(data,(header="a")+(header="b"))

सारांश

कॉलम को फ़िल्टर करने के लिए, शामिल तर्क के लिए एक क्षैतिज सरणी की आपूर्ति करें। दिखाए गए उदाहरण में, I5 में सूत्र है:

=FILTER(B5:G12,(B4:G4="a")+(B4:G4="c")+(B4:G4="e"))

परिणाम डेटा का फ़िल्टर किया गया सेट होता है जिसमें स्रोत डेटा से केवल कॉलम A, C और E होते हैं।

स्पष्टीकरण

यद्यपि पंक्तियों को फ़िल्टर करने के लिए FILTER का अधिक उपयोग किया जाता है, आप स्तंभों को फ़िल्टर भी कर सकते हैं, ट्रिक स्रोत डेटा के समान कॉलम के साथ एक सरणी की आपूर्ति करने के लिए है। इस उदाहरण में, हम बूलियन लॉजिक के साथ उस सरणी का निर्माण करते हैं, जिसे हम बूलियन बीजगणित भी कहते हैं।

बूलियन बीजगणित में, गुणन AND तर्क से मेल खाता है, और इसके अलावा OR तर्क से मेल खाता है। दिखाए गए उदाहरण में, हम केवल कॉलम A, C और E को लक्षित करने के लिए OR (तर्क) के साथ बूलियन बीजगणित का उपयोग कर रहे हैं:

(B4:G4="a")+(B4:G4="c")+(B4:G4="e")

प्रत्येक अभिव्यक्ति का मूल्यांकन करने के बाद, हमारे पास TRUE / FALSE मानों की तीन सारणियाँ हैं:

(TRUE,FALSE,FALSE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,TRUE,FALSE,FALSE,FALSE)+ (FALSE,FALSE,FALSE,FALSE,TRUE,FALSE)

गणित ऑपरेशन (जोड़) TRUE और FALSE मूल्यों को 1s और 0s में परिवर्तित करता है, इसलिए आप इस तरह के ऑपरेशन के बारे में सोच सकते हैं:

(1,0,0,0,0,0)+ (0,0,1,0,0,0)+ (0,0,0,0,1,0)

अंत में, हमारे पास 1s और 0s का एकल क्षैतिज सरणी है:

(1,0,1,0,1,0)

जो तर्क के रूप में सीधे फिल्टर समारोह में वितरित किया जाता है:

=FILTER(B5:G12,(1,0,1,0,1,0))

ध्यान दें कि स्रोत डेटा में 6 कॉलम हैं और सरणी में 6 मान हैं, सभी 1 या 0. फ़िल्टर इस सरणी को स्रोत डेटा से केवल कॉलम 1, 3 और 5 शामिल करने के लिए फ़िल्टर के रूप में उपयोग करते हैं। कॉलम 2, 4 और 6 को हटा दिया जाता है। दूसरे शब्दों में, जो एकमात्र कॉलम बचता है वह 1s से जुड़ा होता है।

MATCH फ़ंक्शन के साथ

जैसा कि ऊपर दिखाया गया है के साथ OR तर्क लागू करना ठीक काम करता है, लेकिन यह अच्छी तरह से पैमाने पर नहीं है, और मापदंड के रूप में वर्कशीट से मूल्यों की एक श्रृंखला का उपयोग करना असंभव बनाता है। एक विकल्प के रूप में, आप ISNUMBER फ़ंक्शन के साथ MATCH फ़ंक्शन का उपयोग इस तरह कर सकते हैं कि इसमें तर्क को और अधिक कुशलता से शामिल किया जा सके:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,("a","c","e"),0)))

दिखाया गया है कि MATCH फ़ंक्शन सरणी स्थिरांक ("a", "c", "e") में सभी कॉलम हेडर देखने के लिए कॉन्फ़िगर किया गया है। हम इसे इस तरह से करते हैं ताकि MATCH के परिणाम में स्रोत डेटा के अनुरूप आयाम हों, जिसमें 6 कॉलम हों। यह भी ध्यान दें कि एक सटीक मैच के लिए MATCH में तीसरा तर्क शून्य के रूप में सेट है।

MATCH के चलने के बाद, यह इस तरह से एक सरणी देता है:

(1,#N/A,2,#N/A,3,#N/A)

यह सरणी सीधे ISNUMBER में जाती है, जो दूसरा सरणी लौटाती है:

(TRUE,FALSE,TRUE,FALSE,TRUE,FALSE)

ऊपर के रूप में, यह सरणी क्षैतिज है और इसमें 6 मान अल्पविराम द्वारा अलग किए गए हैं। फ़िल्टर कॉलम 2, 4 और 6 को हटाने के लिए सरणी का उपयोग करता है।

एक सीमा के साथ

चूंकि कॉलम हेडर I4: K4 रेंज में वर्कशीट पर पहले से मौजूद हैं, इसलिए ऊपर दिए गए फॉर्मूला को इस तरह सीधे रेंज का उपयोग करने के लिए आसानी से अनुकूलित किया जा सकता है:

=FILTER(B5:G12,ISNUMBER(MATCH(B4:G4,I4:K4,0)))

I4 रेंज: K4 का मूल्यांकन ("a", "c", "e") के रूप में किया जाता है, और ऊपर दिए गए सूत्र में सरणी स्थिरांक की तरह ही व्यवहार करता है।

दिलचस्प लेख...