एक्सेल - कंक्रीटिंग सेल जहां संदर्भ संख्या से मेल खाती है [डुप्लिकेट]


4

इस सवाल का पहले से ही यहाँ एक जवाब है:

मेरे पास कई पंक्तियों के साथ एक वर्कशीट है। कुछ पंक्तियाँ संदर्भ संख्याएँ साझा करती हैं (जिसमें, कहते हैं, स्तंभ A) सम्‍मिलित है। मैं क्या करना चाहूंगा, जहां एक पंक्ति किसी अन्य पंक्ति के साथ एक संदर्भ संख्या साझा करती है, मैं उन डेटा को सम्‍मिलित करना चाहूंगा, जैसे स्तंभ B उन दोनों पंक्तियों से एक नए कक्ष में, कहते हैं, स्तंभ C ।

उदाहरण:

कोला कर्नल बी कर्नल सी
12345 रॉबर्ट रॉबर्ट, डेविड
12345 डेविड क्रिस
54321 क्रिस


1
आपके उदाहरण में, जो बहुत स्पष्ट और अच्छी तरह से निर्धारित किया गया है, कर्नल सी उपनाम है, फर्स्टनाम - मुझे यकीन नहीं है कि अगर आदेश संभव हो रहा है जब तक कि उपनाम हमेशा पहले नाम (कॉलम को पढ़ने से पहले) नहीं होता है। यह एक समस्या है?
Dave

@DaveRook मुझे नहीं लगता कि ओपी में कर्नल सी का उपनाम है, फर्स्टनाम यह कर्नल बी रॉबर्ट से मूल्यों का एक संयोजन है। डेविड और डेविड पहले दो मान हैं और क्योंकि वे दोनों ए में 12345 हैं, ओपी उन्हें एक साथ चाहता है।
Brad Patton

ब्रैड सही है। कर्नल सी सिर्फ जगह को समतल करने के लिए है। मुझे कोई आपत्ति नहीं है कि वे किस क्रम में विशेष रूप से जाते हैं, लेकिन अगर मैंने किया, तो ऐसा लगता है कि यह एक अलग मुद्दा है।
Lewes Dev

यह एक बहुत अच्छी तरह से स्वरूपित है और दूसरा इतना खराब स्वरूपित है कि मैं नहीं बता सकता कि क्या यह वास्तव में एक डुप्लिकेट है। इस प्रश्न में VBA से बचने का कोई उल्लेख नहीं है।
Tanner Faulkner

इसके साथ मज़ा तब शुरू होता है जब आप इसे एक सूत्र के साथ खींचने की कोशिश करते हैं;) और मैंने देखा है कि कुछ एक्सेल वाइज़रकार्ड ऐसा करते हैं :)
helena4

जवाबों:


2

यहाँ VBA दृष्टिकोण है। एक्सेल 2007 या बाद में मान लेना; यदि आप Excel के पूर्व-रिबन संस्करण का उपयोग कर रहे हैं तो पहले कुछ चरण अलग होंगे।

  1. डेवलपर टैब सक्षम करें

  2. रिबन पर डेवलपर टैब पर "विज़ुअल बेसिक" पर क्लिक करें

  3. "VBAProject (जो भी आपकी-शीट-is-name.xls *)" पर राइट-क्लिक करें और डालें - & gt; संदर्भ मेनू में मॉड्यूल

  4. इस कोड में पेस्ट करें

    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
    
  5. जैसे सूत्र का उपयोग करके वर्कशीट फ़ंक्शन (इसका नाम बदलने के लिए स्वतंत्र महसूस करें) का उपयोग करें

    =allquixotic(A1,$A$1:$A$15,$B$1:$B$15,true)
    
  6. सभी कक्षों में सूत्र को रखने के लिए भरण हैंडल का उपयोग करें

पैरामीटर निम्नलिखित हैं:

=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 में कई कॉलम निर्दिष्ट करते हैं, तो केवल सबसे बाएं कॉलम का उपयोग किया जाएगा।


धन्यवाद, allquixotic। और मैंने फ़ंक्शन का नाम नहीं बदला क्योंकि आपका नाम शानदार है!
Lewes Dev

-1

क्या यह आपके लिए काम करेगा? सूत्र को C2 में सेट करें

=IF(A2=A3,B2 & ", " & B3,B3)

यह मानता है कि आपके डेटा को ColA पर क्रमबद्ध किया गया है ताकि संदर्भ संख्याओं को एक साथ समूहीकृत किया जा सके।

प्रश्न: क्या कोला में एक ही संदर्भ संख्या के साथ २ से अधिक नाम हो सकते हैं?


अफसोस की बात है कि जैसे-जैसे दस्तावेज़ को बदलने, बढ़ने और बढ़ने की संभावना है, कोशिकाओं के पूर्ण संदर्भ होने से इसे लागू करना थोड़ा मुश्किल होता है। मैं कुछ और अधिक लचीले होने की उम्मीद कर रहा था।
Lewes Dev

मुझे लगता है कि आपको कॉलम को लूप करने के लिए वीबीए मैक्रो की आवश्यकता होगी
Brad Patton

2
वे पूर्ण संदर्भ नहीं हैं; वे सापेक्ष (ऑफसेट) संदर्भ हैं। यदि वे पूर्ण संदर्भ थे, तो उनके डॉलर चिह्न होंगे ( $ ) उनमे। जैसा कि ऊपर दिखाया गया है, आप सेल (ड्रैग / फिल) को बढ़ा सकते हैं C2 सेवा मेरे C3 और आप स्वचालित रूप से प्राप्त करेंगे =IF(A3=A4, B3 & ", " & B4, B4)
Scott
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.