यदि सब आप क्या करना चाहते एक सरणी, के एक सबसेट हड़पने है और आप पहले से ही इच्छित तत्वों के पदों को पता है, तो आप सिर्फ INDEX
सूचकांक तर्क के लिए एक सरणी के साथ उपयोग कर सकते हैं। यह है:
=INDEX({11,22,33,44,55},{2,3,5})
{22,33,55}
देता है। लेकिन आमतौर पर यह बहुत उपयोगी नहीं होता है क्योंकि आप पदों को नहीं जानते हैं, और मुझे यूडीएफ के बिना उन्हें पाने का कोई तरीका नहीं है।
मैं इन-कार्यपत्रक सरणी निस्पंदन के इस प्रकार के लिए क्या किया निम्नलिखित फार्म के साथ एक यूडीएफ लिखने के लिए:
'Filters an input sequence based on a second "comb" sequence.
'Non-False-equivalent, non-error values in the comb represent the positions of elements
'to be kept.
Public Function combSeq(seqToComb, seqOfCombValues)
'various library calls to work with 1xn or nx1 arrays or ranges as well as 1-D arrays
'iterate the "comb" and collect positions of keeper elements
'create a new array of the right length and copy in the keeper elements
End Function
मैं केवल पोस्ट स्यूडोकोड क्योंकि मेरी वास्तविक कोड सहित पुस्तकालय कार्यों के लिए सभी कॉल है, संग्रह-पदों और प्रति-से-स्थिति संचालन। यह शायद मूल विचार को अस्पष्ट कर देगा, जो कि बहुत आसान है।
तुम इतनी तरह इस तरह के एक यूडीएफ फोन चाहते हैं:
=combSeq({23, "", 34, 46, "", "16"}, {23, "", 34, 46, "", "16"} <> "")
या
=combSeq(Q1:Q42, SIN(Z1:Z42) > 0.5)
और एक्सेल के सामान्य सरणी यांत्रिकी का उपयोग करें "कंघी" उत्पन्न करने के लिए। यह अधिक हल्के, एक्सेल-फ्रेंडली तरीका है जो अधिक मानक filter(list-to-filter, test-function)
फ़ंक्शन के कई लाभ प्राप्त करने के लिए है जो आप अन्य प्रोग्रामिंग सिस्टम में देख सकते हैं।
मैं "कंघी" नाम का उपयोग करता हूं क्योंकि "फ़िल्टर" आमतौर पर "इस फ़ंक्शन के साथ फ़िल्टर" का अर्थ है, और एक्सेल के साथ आपको निस्पंदन फ़ंक्शन को कॉल करने से पहले परीक्षण फ़ंक्शन को लागू करना होगा। इसके अलावा एक "कंघी" को मध्यवर्ती परिणाम के रूप में गणना करने के लिए उपयोगी हो सकता है और फिर इसे ... er, comb ... एकाधिक सूचियों का उपयोग करें।
मैं यह कहने जा रहा हूं कि यूडीएफ के बिना यह संभव नहीं है। अगर कोई मुझे गलत साबित करता है तो मैं बहुत खुश हूं। – Excellll
महान सवाल। मैं इसे कुछ चरम फॉर्मूला लोगों को ध्वजांकित करूंगा, लेकिन मैं इस – brettdj
@ एक्सेलसेल पर एक्सेल के साथ सहमत हूं - एक संभावित फॉर्मूला विविधता नीचे शामिल है जिसे एसयूएम() जैसे कार्यों के अंदर भी इस्तेमाल किया जा सकता है। –