एक्सेल में "अनपिवेट" या "रिवर्स पिवट" कैसे करें?


66

मेरे पास डेटा है जो इस तरह दिखता है:

Id | Loc1 | Loc2 | Loc3 | Loc4
---+------+------+------+-----
1  | NY   | CA   | TX   | IL
2  | WA   | OR   | NH   | RI

और मैं इसे इस में बदलना चाहता हूं:

Id | LocNum | Loc
---+--------+----
1  |   1    | NY
1  |   2    | CA
1  |   3    | TX
1  |   4    | IL
2  |   1    | WA
2  |   2    | OR
2  |   3    | NH
2  |   4    | RI

Excel 2007 में ऐसा करने का सबसे आसान तरीका क्या है?


1
उत्तर मिला: stackoverflow.com/questions/32115219/…
Quandary

जवाबों:


69

आप इसे पिवट टेबल के साथ कर सकते हैं।

  1. एक "एक से अधिक समेकन रेंज बनाएँ PivotTable।" (केवल पिवट तालिका जादूगर। साथ Callup पर ALT+ D, PExcel 2007 पर)
  2. "मैं अपना स्वयं का पृष्ठ फ़ील्ड बनाऊंगा" चुनें।
  3. अपना डेटा चुनें।
  4. भव्य कुल मूल्य पर डबल क्लिक करें - रो ग्रैंड और कॉलम ग्रैंड के चौराहे पर, आपके पिवट टेबल के निचले दाहिने हाथ के कोने पर सभी तरह से।

आपको अपनी धुरी तालिका में सभी डेटा युक्त एक नई शीट देखनी चाहिए, जिस तरीके से आप खोज रहे हैं।

डाटापिग प्रौद्योगिकियाँ चरण-दर-चरण निर्देश प्रदान करती हैं जो वास्तव में आपकी आवश्यकता से अधिक जटिल हैं - उनका उदाहरण डेटा सेट के केवल हिस्से को प्रसारित करता है और टेक्स्टटॉलेमेंट्स के साथ संयुक्त पिवट तकनीक का उपयोग करता है । लेकिन इसमें बहुत सारी तस्वीरें हैं।

ध्यान दें कि एक पिवट तालिका डेटा को समूहित करेगी। यदि आप इसे अनियंत्रित करना चाहते हैं, तो ऐसा करने का एकमात्र तरीका धुरी तालिका की प्रतिलिपि बनाना है, और मूल्यों के रूप में "विशेष पेस्ट करें"। फिर आप इस तरह से एक तकनीक के साथ रिक्त स्थान को भर सकते हैं: http://www.contextures.com/xlDataEntry02.html


आपके उत्तर के लिए धन्यवाद, लेकिन मैं बिल्कुल निश्चित नहीं हूं कि आप यहां क्या कह रहे हैं। मेरे प्रश्न में उदाहरण के लिए, मैं रो लेबल, कॉलम लेबल, मान और रिपोर्ट फ़िल्टर के लिए क्या उपयोग करूंगा?
देवसर

यदि मैं कॉलम लेबल में लो 4 के माध्यम से पंक्ति लेबल्स और लोको 1 में ईडी डालता हूं, तो निचले-दाएं सेल (ग्रैंड टोटल्स के चौराहे) पर क्लिक करें, यह एक तालिका के साथ एक नई शीट बनाता है, लेकिन यह वह नहीं है जो मैं चाहता हूं। यह मूल रूप से नियमित धुरी तालिका की एक प्रति है।
देवकरण

मुझे खेद है - मैंने डेटा का एक महत्वपूर्ण टुकड़ा छोड़ दिया है। पिवट टेबल एक 'मल्टीपल कंसॉलिडेशन रेंज' टाइप पिवट टेबल होनी चाहिए, भले ही इस मामले में आपके पास समेकित करने के लिए कुछ भी न हो।
डेवपैरिलो

4
आह ठीक है, मैंने इसे मदद में देखा और एक्सेल 2007 में पुराने पिवट टेबल विजार्ड प्राप्त करने के लिए एक बैक-डोर रास्ता ढूंढा (आपको ALT + D + P प्रेस करने की आवश्यकता है)। अब मैं आपके चरणों का पालन करने में सक्षम हूं, और यह काम करने लगता है। आपकी सहायताके लिए धन्यवाद!
देवकरण

1
यहाँ ठीक है: stackoverflow.com/questions/32115219/…
Quandary

7

यदि आपका डेटा एक्सेल पिवट टेबल नहीं है, लेकिन केवल डेटा है, तो आप कुछ सरल VBA कोड के साथ इसे "अन-पिवेट" करना चाह सकते हैं। कोड दो नामित श्रेणियों, स्रोत और लक्ष्य पर निर्भर करता है। स्रोत वह डेटा है जिसे आप अन-पिवेट करना चाहते हैं (स्तंभ / पंक्ति शीर्षों में से अनन्य, उदाहरण के लिए नमूना में NY-RI) और लक्ष्य पहली सेल है जहाँ आप अपना परिणाम रखना चाहते हैं।

Sub unPivot()
Dim oTarget As Range
Dim oSource As Range
Dim oCell As Range

Set oSource = Names("Source").RefersToRange
Set oTarget = Names("Target").RefersToRange

For Each oCell In oSource
    If oCell.Value <> "" Then
        oTarget.Activate
      ' get the column header
        oTarget.Value = oCell.Offset(-(oCell.Row - oSource.Row + 1), 0).Text 
      ' get the row header
         oTarget.Offset(0, 1).Value = oCell.Offset(0, _
           -(oCell.Column - oSource.Column + 1)).Text 
      ' get the value
        oTarget.Offset(0, 2).Value = oCell.Text 
      ' move the target pointer to the next row
        Set oTarget = oTarget.Offset(1, 0) 
    End If
Next
Beep
End Sub

1
इसके लिए धन्यवाद। अपवाद के रूप में काम करता है और मुझे बहुत समय बचाता है।
टिग्रो

धन्यवाद!! यह सिर्फ जादू है! उन खबरों के साथ जिगिरि-पोकरी से बेहतर जो मेरे लिए कभी काम नहीं
आईं

1
यह बहुत अच्छा लग रहा है, लेकिन जैसा कि सबसे अच्छा मैं बता सकता हूं, यह केवल एक तालिका के लिए काम करेगा जिसमें केवल एक पंक्ति शीर्ष लेख है। यदि उदाहरण में तालिका में कई पंक्ति शीर्ष लेख हैं, तो कहें कि इसमें Id फ़ील्ड के अतिरिक्त "SubId" था, यह काम नहीं करेगा। क्या इसे संशोधित करने का एक आसान तरीका है ताकि यह इस स्थिति में काम करे?
क्रिस स्टॉकिंग

5

मैंने एक ऐड-इन का निर्माण किया है जो आपको ऐसा करने देगा, और इससे विभिन्न परिस्थितियों के अनुकूल होना आसान हो जाता है। इसे यहां देखें: http://tduhameau.wordpress.com/2012/09/24/the-unpivot-add-in/


4

एक्सेल 2010 में काफी अच्छा समाधान है, बस पिवट टेबल के साथ थोड़ा खेलने की जरूरत है।

इन सेटिंग्स के साथ अपने डेटा से एक पिवट टेबल बनाएं:

  • कोई उप योग नहीं, कोई भव्य योग नहीं
  • रिपोर्ट लेआउट: सारणीबद्ध रूप, सभी आइटम लेबल दोहराएं
  • अपने इच्छित सभी कॉलम जोड़ें, उन कॉलमों को रखें जिन्हें आप दाईं ओर बदलना चाहते हैं
  • प्रत्येक उस कॉलम के लिए जिसे आप बदलना चाहते हैं: खुले क्षेत्र की सेटिंग - लेआउट और प्रिंट टैब में: "आउटलाइन फ़ॉर्म में आइटम लेबल दिखाएं" चुनें और उसके नीचे दोनों चेक बॉक्स चेक करें
  • अपनी तालिका को एक अलग स्थान पर कॉपी करें (सिर्फ मान)
  • यदि आपके मूल डेटा में रिक्त कक्ष हैं, तो सबसे दाहिने कॉलम में रिक्त मानों के लिए फ़िल्टर करें और उन पंक्तियों को हटा दें (धुरी तालिका में फ़िल्टर न करें क्योंकि यह आपकी आवश्यकतानुसार काम नहीं करेगा!)

1
यह निश्चित रूप से सबसे अच्छा जवाब है यदि आप 2010 और ऊपर हैं, और इंटरफ़ेस में बिल्कुल स्पष्ट नहीं हैं। महान खोज - दुख की बात है कि मेरे पास केवल एक अपवोट है!
jkf

3

सबसे अच्छा मैं अभी तक इस के साथ आया हूँ:

Id   LocNum  Loc
---------------------------------
1    1       =INDEX(Data,A6,B6)
1    2       =INDEX(Data,A7,B7)
1    3       =INDEX(Data,A8,B8)
1    4       =INDEX(Data,A9,B9)
2    1       =INDEX(Data,A10,B10)
2    2       =INDEX(Data,A11,B11)
2    3       =INDEX(Data,A12,B12)
2    4       =INDEX(Data,A13,B13)

यह काम करता है, लेकिन मुझे Id's और LocNum को मैन्युअली जेनरेट करना होगा। यदि कोई अधिक स्वचालित समाधान (मैक्रो लिखने के अलावा) है, तो कृपया मुझे एक अलग उत्तर में बताएं।


2

यदि आपके डेटा के आयाम आपके प्रश्न में दिए गए नमूने के अनुसार हैं, तो OFFSET का उपयोग करने वाले फ़ार्मुलों का निम्नलिखित सेट आपको आवश्यक परिणाम देगा:

यह मानते हुए

1 | एनवाई | सीए | TX | आईएल

2 | WA | या | एनएच | आरआई

A2 में हैं: E3, फिर दर्ज करें

= OFFSET ($ A $ 2, मंजिल ((आरओडब्ल्यू (A2) -ROW ($ A $ 2)) / 4,1), 0)

F2 में, कहते हैं, और

= एमओडी (आरओडब्ल्यू (A2) -ROW ($ A $ 2), 4) +1

G2 में, कहते हैं, और

= OFFSET ($ बी $ 2, मंजिल ((आरओडब्ल्यू (बी 2) -ROW ($ B $ 2)) / 4,1), एमओडी (आरओडब्ल्यू (A2) -ROW ($ A $ 2), 4))

H2 में, कहते हैं।

फिर जहाँ तक आवश्यक हो इन फॉर्मूलों को कॉपी करें।

यह सबसे आसान, शुद्ध, अंतर्निहित सूत्र समाधान है जो मैं सोच सकता हूं।


1

आपको लगता है कि "लोकल" कॉलम मिल गया है (आपके पहले उत्तर से पता चला), और अब आपको अन्य दो कॉलम प्राप्त करने में मदद चाहिए।

आपका पहला विकल्प केवल उन कॉलमों में पहली कई (कहना, 12) पंक्तियों को टाइप करना है और नीचे खींचना है - मुझे लगता है कि एक्सेल इस मामले में सही काम करता है (मुझे यकीन है कि यह परीक्षण करने के लिए इस कंप्यूटर पर एक्सेल नहीं है)।

यदि वह काम नहीं करता है, या यदि आप कुछ और प्रोग्रामर-वाई चाहते हैं, तो पंक्ति () फ़ंक्शन का उपयोग करने का प्रयास करें। लोकेनम कॉलम के लिए ID कॉलम के लिए "= तल (पंक्ति () / 4)" और "= mod (पंक्ति) (4, 4) +1" जैसा कुछ।


1

डेटाबेस तालिका में डेटा को वापस पिवोट या रिवर्स करने के लिए पैरामीट्रिक VBA रूपांतरण उपयोगिता है, कृपया देखें

http://www.spreadsheet1.com/unpivot-data.html


1
सुपर उपयोगकर्ता में आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
पीची

1

यहाँ एक अच्छा टूल है, पिवट टेबल को सामान्य करने के लिए, अनवॉफ़्ट करने के लिए।

नोर्मिसिएरन वॉन पिवट तबेलन

मुझे उम्मीद है यह मदद करेगा।


1
SuperUser में आपका स्वागत है! जब आप किसी उपकरण को समाधान के लिए लिंक करते हैं, तो यह पोस्ट केवल तब तक उपयोगी होती है जब तक लिंक सक्रिय रहता है। यह सुनिश्चित करने के लिए कि आपकी पोस्ट भविष्य में अच्छी तरह से उपयोगी है, कृपया उत्पाद के बारे में कोई अतिरिक्त जानकारी शामिल करने के लिए अपने उत्तर को संपादित करें, जिसमें प्रश्न में वर्णित समस्या को हल करने के लिए इसका उपयोग कैसे करें। धन्यवाद!
14

1

@DaveParillo उत्तर एकल टैब तालिका के लिए सबसे अच्छा उत्तर है। मैं यहां कुछ एक्स्ट्रा जोड़ना चाहता था।

एकाधिक स्तंभों के लिए unpivot स्तंभों से पहले हैं

यह तरीका काम नहीं करता है।

प्रश्न की तरह Youtube ने सरल डेटा को अनपाइव किया

यह एक यूट्यूब वीडियो है जिसमें दिखाया गया है कि इसे सरल तरीके से कैसे किया जाता है। मैंने शॉर्टकट जोड़ने के बारे में भाग छोड़ दिया और @devuxer शॉर्टकट का उपयोग किया जो डेवपैरिलो उत्तर में है।

https://www.youtube.com/watch?v=pUXJLzqlEPk


3
आपके उत्तर का पदार्थ एक वीडियो का लिंक है और सामग्री का वर्णन नहीं किया गया है। यदि लिंक टूटता है या अनुपलब्ध है, तो आपके उत्तर का कोई मूल्य नहीं होगा। कृपया अपने उत्तर में आवश्यक जानकारी शामिल करें और लिंक का उपयोग केवल रोपण और आगे की खोज के लिए करें।
फिक्सर 1234

-2

यह इससे बहुत सरल है। जिस ट्रांसपोज़िशन का आप अनुरोध कर रहे हैं, उसे पाने के लिए बस "पेस्ट स्पेशल ..." में "ट्रांसपोज़" विकल्प पर क्लिक करें।


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