किसी विशिष्ट क्रम में डेटा रखते हुए मैं एक्सेल डेटा को 1 कॉलम से 8 कॉलम में कैसे विभाजित कर सकता हूं?


4

मुझे डेटा के क्रम को बनाए रखने की आवश्यकता है। इसलिए समझाने के लिए मुझे सेल से डेटा को स्थानांतरित करने की आवश्यकता है

a1 to b1,
a2 to c1,
a3 to d1,
a4 to e1,
a5 to f1,
a6 to g1,
a7 to h1,
a8 to i1,

a9 से B2
a10 से C2
a11 से D2
a12 से E2
a13 से F2
a14 से G2
a15 से H2
a16 से I2

स्तंभ ए में सभी 24000 प्रविष्टियों के माध्यम से जाने तक कुल्ला और दोहराएं

निश्चित रूप से मैक्रो या वीबीए के माध्यम से इसे पूरा करने का एक आसान तरीका है? शायद सबसे हाल के संस्करणों में एक सुविधा शायद पहले से ही ऐसा कर सकती है?


मैंने जो कुछ भी कर रहा हूं उसके चित्र पोस्ट करने की कोशिश की, लेकिन मेरे पास ऐसा करने के लिए पर्याप्त मंच "अंक" नहीं है: एस
राल्फ

जवाबों:


2

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

Option Explicit
Private Sub ReArrangeCells()

  Dim ws As Worksheet, LastRow As Long
  Set ws = Excel.ActiveSheet

  LastRow = Range("A65536").End(xlUp).Row

  Dim i As Long, j As Long, FromCell As Range, ToCell As Range, sNewCol As String, sNewRow As String
  For i = 1 To LastRow

    Set FromCell = ws.Range("A" & i)                       'the cell we want to move
    sNewCol = IIf(i Mod 8 = 0, Chr$(72), Chr$((i Mod 8) + 64))
    sNewRow = IIf(i Mod 8 = 0, (i \ 8), (i \ 8) + 1)
    Set ToCell = ws.Range(sNewCol & sNewRow)               'the cell we want to copy the data to

    FromCell.Copy ToCell
    If i <> 1 Then FromCell.Clear

    If i Mod 100 = 0 Then DoEvents

  Next i

End Sub

यह एक आकर्षण की तरह काम किया बहुत बहुत धन्यवाद!
राल्फ़

2

यहाँ एक समाधान है। यह निम्नलिखित मानता है:

  1. सभी मूल डेटा कॉलम ए में हैं
  2. कॉलम बी में केवल पंक्ति का सूचकांक होता है

फॉर्मूला: =INDIRECT(CONCATENATE("a",$B2*8 + col_offset))जहां कोलाइफसेट कॉलम संख्या (शून्य अनुक्रमित) है। तो पहले कॉलम में यह होगा =INDIRECT(CONCATENATE("a",$B2*8))और 8 वें कॉलम में यह होगा =INDIRECT(CONCATENATE("a",$B2*8+7))

चीजों को स्पष्ट करने के लिए एक तस्वीर:

यहाँ छवि विवरण दर्ज करें

संपादित करें: नया सूत्र: =INDIRECT(CONCATENATE("a",(ROW()-2)*8+(COLUMN()-3)))जहां -2और -3पंक्ति और स्तंभ ऑफसेट हैं। बस इसे उन सभी कोशिकाओं में चिपकाएँ जहाँ आप अपना डेटा दिखाना चाहते हैं। (यह समाधान बेहतर है क्योंकि कॉलम B अब हटाया जा सकता है)


@ राल्फ कृपया मुझे बताएं कि क्या कोई समस्या है। इसे थोड़ा साफ करने के लिए काम कर रहे हैं।
१५:१२ पर कालिख

मुझे यह पहले 8 (a1 से a8) के लिए काम करने के लिए मिलता है! लेकिन मैं इसे इससे आगे कैसे काम करूं? मैंने ऑटोफ़िल को नीचे खींचने की कोशिश की और इससे मुझे गलत डेटा टाइप त्रुटि हुई। मुझे कुछ गलत करना चाहिए या समझ में नहीं आना चाहिए।
राल्फ

नए फॉर्मूले के लिए संपादन देखें, लेकिन Ctrl + D को ठीक काम करना चाहिए (आपको पुराने फॉर्मूले के साथ एक ही बार में पूरी पंक्ति करने की आवश्यकता है), नए के साथ यह कोई फर्क नहीं पड़ता है
soandos

फिर, समाधान के लिए धन्यवाद। मैं यह पता नहीं लगा सका कि इसे कैसे काम करना है, लेकिन मुझे यकीन है कि यह इसलिए है क्योंकि मैं कुछ सही नहीं कर रहा हूं।
राल्फ

0

बड़ी मात्रा में डेटा को संभालने के लिए वीबीए के उत्तर सबसे अच्छे हैं, लेकिन मैं बताता हूं कि आप इसे "ट्रांसपोज़" का उपयोग करके कॉपी / पेस्ट के माध्यम से भी कर सकते हैं। यह छोटी जरूरतों के लिए एक आसान राइट-क्लिक समाधान है। यह 2010 के लिए सुनिश्चित करने के लिए लागू होता है और मेरा मानना ​​है कि 2007 भी।

लगता है कि मैं अभी तक चित्र नहीं कर सकता हूँ ..

  • अपनी कोशिकाओं को लंबवत रूप से कॉपी करें
  • दूसरे सेल पर राइट-क्लिक करें और "पेस्ट विकल्प" के तहत चौथे विकल्प का उपयोग करें (समकोण पर दो नीले आयतों की तरह दिखता है)

कुछ परिस्थितियों में तेज।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.