Excel 2007 एक में कई पंक्तियों को स्थानांतरित / संयोजित करता है


6

मेरे पास ऐसा डेटा है:

1001NCCN    3618127
1001NCCN    208478
1001NCCN    207316
1001TEMN    409889
1001TEMN    801651
1001TEMN    273134
1001TEMN    208478
1001TEMN    207316

मुझे उन पंक्तियों को बदलना / संयोजित करना होगा जो पहले कॉलम में मेल खाने वाले मानों जैसे कि अंतिम परिणाम के साथ हों:

1001NCCN    3618127 208478  207316      
1001TEMN    409889  801651  273134  208478  207316

मैंने पिवट टेबल्स को देखा, और फ़िल्टरिंग किया लेकिन न तो ऐसा लगा जैसे वे मुझे दे सकते हैं जो मुझे चाहिए। क्या एक्सेल के भीतर ऐसा करने का कोई तरीका है?


मेरे पास कोई जवाब नहीं है, लेकिन यह बात हो सकती है, इसलिए: क्या डेटा पहले कॉलम पर छांटा गया है? विशेष रूप से, क्या आप जानते हैं कि क्या 1001NCCN(और जैसे) के प्रत्येक उदाहरण हमेशा एक दूसरे से सटे रहेंगे, या क्या उन्हें विभाजित करना संभव है?
DMA57361

@ डीडीएम, हाँ हर उदाहरण एक दूसरे से सटे हुए हैं। वे वर्णानुक्रम में क्रमबद्ध नहीं हैं, लेकिन यदि आवश्यक हो तो मैं ऐसा कर सकता हूं।
jzd

जवाबों:


6

यहाँ एक VBA समाधान है

यह उन पंक्तियों पर निर्भर करता है जैसे पंक्तियों को समूहित किया जा रहा है, इसलिए यदि आवश्यक हो तो पहले छाँटें

बस अपनी सीमा में पहली सेल का चयन करें और चलाएं ...

Sub Mergeitems()
    Dim cl As Range
    Dim rw As Range

    Set rw = ActiveCell

    Do While rw <> ""
        ' for each row in data set
        '   find first empty cell on row
        Set cl = rw.Offset(0, 1)
        Do While cl <> ""
            Set cl = cl.Offset(0, 1)
        Loop

        ' if next row needs to be processed...
        Do While rw = rw.Offset(1, 0)
            cl = rw.Offset(1, 1)       ' move the data
            Set cl = cl.Offset(0, 1)   ' update pointer to next blank cell
            rw.Offset(1, 0).EntireRow.Delete xlShiftUp   ' delete old data
        Loop

        ' next row
        Set rw = rw.Offset(1, 0)
    Loop
End Sub

21,000 पंक्ति स्प्रेडशीट पर महान काम किया!
jzd

3

IMO इस तरह के कार्य को करने का सबसे सरल तरीका है Google डॉक्स। खाली Google स्प्रेडशीट में अपना डेटा कॉपी करें। तब, कहना, F1 लिखें:

=UNIQUE(A:A) 

और G1 पर लिखें:

=TRANSPOSE(FILTER(B:B,A:A=F1)

और नीचे कॉपी करें। फिर परिणाम कॉपी करें और उन्हें वापस एक्सेल में पेस्ट करें।


दिलचस्प दृष्टिकोण। अगली बार जब मैं खुद को इस स्थिति में पाऊंगा तो इस पर गौर करूंगा।
jzd
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.