एकल तालिका में कनवर्ट करें


2

टैरिफ कोड के सापेक्ष मेरे पास कुछ उत्पाद मूल्य हैं:

+==============+========+========+========+========+
| product code | code10 | code20 | code30 | code40 |
|==============+========+========+========+========|
| product1     | 12.3   | 12.4   | 12.5   | 12.6   |
+--------------+--------+--------+--------+--------+
| product2     | 13.3   | 13.4   | 13.5   | 13.6   |
+--------------+--------+--------+--------+--------+
| product3     | 14.3   | 14.4   | 14.5   | 14.6   |
+--------------+--------+--------+--------+--------+

मैं तीन कॉलम के साथ एक तालिका प्राप्त करना चाहता हूं: उत्पाद कोड, मूल्य और टैरिफ कोड

+==============+=======+=============+
| product code | price | tariff code |
|==============+=======+=============+
| product1     | 12.3  | code10      |
+--------------+-------+-------------+
| product1     | 12.4  | code20      |
+--------------+-------+-------------+
| product1     | 12.5  | code30      |
+--------------+-------+-------------+
| product1     | 12.6  | code40      |
+--------------+-------+-------------+
| product2     | 13.3  | code10      |
+--------------+-------+-------------+
| product2     | 13.4  | code20      |
+--------------+-------+-------------+
| ........     | ....  | ......      |
+--------------+-------+-------------+
| product3     | 14.6  | code40      |
+--------------+-------+-------------+

मैंने सफलता के बिना एक कस्टम पेस्ट के साथ इसे हासिल करने की कोशिश की।
वहाँ वैसे भी Calc के साथ ऐसा करने के लिए है?


क्या आप पिवट टेबल का उपयोग कर सकते हैं?
डेव

@DaveRook: चूंकि पिवट टेबल का उपयोग करने के लिए तुच्छ नहीं हैं, इसलिए यह एक जवाब के लायक होगा कि यह पिवट टेबल का उपयोग करके कैसे हल किया जाए।
तोहवोहोहू

मैं किसी भी समाधान के लिए खुला हूं, लेकिन अगर कैल्क में ऐसा करने का कोई बहुत सरल तरीका नहीं है, तो मैं इस परिणाम को समाप्त करने के लिए एक छोटी सी स्क्रिप्ट
बनाऊंगा

जवाबों:


2

ओपी की टिप्पणियों में, आप एक स्क्रिप्ट का उपयोग करते हुए उल्लेख करते हैं। यह VBa करता है, परिणाम को एक और शीट में सहेजता है।

यहां तक ​​कि अगर आपकी मशीन VBa का समर्थन नहीं करती है, तो स्क्रिप्ट आपको एक विचार दे सकती है ताकि आप इसे अपनी पसंदीदा भाषा में पोर्ट कर सकें।

VBa के साथ याद रखें, पूर्ववत् आम तौर पर काम नहीं करता है, इसलिए पहले बैक अप के रूप में फ़ाइल की एक प्रति सहेजें !!

Sub DoSomeMagic()

Call CreateHeadings

Dim row As Integer
row = 2

Dim sheet2row As Integer
sheet2row = 2

Do While (Worksheets("Sheet1").Range("A" & row).Value <> "")


Dim col As Integer
col = 66

    Do While (Worksheets("Sheet1").Range(Chr(col) & row).Value <> "")

        Worksheets("Sheet2").Range("A" & sheet2row).Value = Worksheets("Sheet1").Range("A" & row).Value
        Worksheets("Sheet2").Range("B" & sheet2row).Value = Worksheets("Sheet1").Range(Chr(col) & row).Value
        Worksheets("Sheet2").Range("C" & sheet2row).Value = Worksheets("Sheet1").Range(Chr(col) & 1).Value
           col = col + 1
           sheet2row = sheet2row + 1
    Loop

    row = row + 1

Loop

End Sub

Sub CreateHeadings()

Worksheets("Sheet2").Range("A1").Value = "product code"
Worksheets("Sheet2").Range("A1").Font.Bold = True
Worksheets("Sheet2").Range("B1").Value = "price"
Worksheets("Sheet2").Range("B1").Font.Bold = True
Worksheets("Sheet2").Range("C1").Value = "tariff code"
Worksheets("Sheet2").Range("C1").Font.Bold = True

End Sub

मूल (शीट 1)

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

वीबीए चलाने के बाद, शीट 2 जैसा दिखता है

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

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