এক্সেল সদৃশ সারি একীকরণ


1

কেউ এই সম্পর্কে আমার সাহায্য করুন দয়া করে আমি এটা সম্পর্কে যেতে কোন ধারণা আছে।

এখানে তথ্য সেট

data set

আমি প্রতিটি পদ্ধতি থেকে প্রতিটি সারির তথ্য এক সারিতে একত্রিত করতে চাই।

এই উদাহরণে Total + Blue 2 সারিতে তথ্য আছে কিন্তু আমি তাদের একত্রিত করতে চাই।

প্রতি রঙ এবং পদ্ধতির জন্য কলাম প্রতি শুধুমাত্র একটি ডাটা পয়েন্ট থাকবে তাই কিছুই ওভাররাইট করা হবে না।

একই রং সবসময় একে অপরের নিকটবর্তী হবে না।

একই রং প্রতি পদ্ধতিতে অনেক সারি থাকতে পারে তবে আবার পদ্ধতি এবং রঙের প্রতি কলামে একটি অনন্য তথ্য বিন্দু থাকবে।

কলামের পরিমাণও পরিবর্তনশীল হবে (# 1 থেকে অনেকগুলি)।

কিছু পদ্ধতি + রঙ সমন্বয় তথ্য অনুপস্থিত হবে - এই উপেক্ষা করা যেতে পারে। তাই কোন সারি যা সদৃশ সারি তথ্য আছে না সবুজ এবং রক্তবর্ণ

এখানে আদর্শ আউটপুট।

enter image description here

আমি ম্যানুয়াল কপি এবং পেস্ট সারি ব্যবহার করে এবং স্কিপ ব্লক বিকল্পটি নির্বাচন করে পেয়েছি, তারপর কপি করা সারি ম্যানুয়ালি মুছে ফেলছি।

আগাম ধন্যবাদ


দুঃখিত ছেলেরা একরকম ইমেজ স্টাফ আপ i.stack.imgur.com/AHx8F.jpg এখানে তথ্য
Vince

i.stack.imgur.com/TxU6I.jpg এবং আউটপুট
Vince

উত্তর:


0

এই ভিবিএ কোড কাজ করা উচিত

Public Sub combineRows()
    Dim wkb As Workbook
    Dim wks, wks1 As Worksheet
    'Define variables
    titleRow = 1
    namecolumns = 2
    Set wkb = ThisWorkbook
    Set wks = wkb.Sheets("Sheet1") 'Source sheet
    Set wks1 = wkb.Sheets("Sheet2") 'Destination sheet
    'Clear the destination Sheet
    wks1.Rows.Clear
    'Count rows and columns on source sheet
    totalrows = wks.Cells(Rows.Count, 1).End(xlUp).row
    totalcolumns = wks.Cells(titleRow, columns.Count).End(xlToLeft).Column
    'Copy title row
    wks.Rows(titleRow).Copy wks1.Rows(titleRow)
    wks1row = titleRow + 1
    'Iterates each row on source sheet
    For i = titleRow + 1 To totalrows
        original = concnames(wks, i, namecolumns)
        totalrowswks1 = wks1.Cells(Rows.Count, 1).End(xlUp).row
        coincidence = False
        'Check if the same name exists on Destination sheet
        For k = titleRow + 1 To totalrowswks1
            originalwks1 = concnames(wks1, k, namecolumns)
            If original = originalwks1 Then
                coincidence = True
                k = totalrowswks1
            End If
        Next k
        'If the name exists on destination skips it
        If coincidence = False Then
            'Copy the entire row to destination
            For j = 1 To totalcolumns
                wks1.Cells(wks1row, j) = wks.Cells(i, j)
            Next j
            'Check on source other rows with the same name to copy its data
            For j = i + 1 To totalrows
                other = concnames(wks, j, namecolumns)
                If other = original Then
                    For k = namecolumns + 1 To totalcolumns
                        theCell = wks.Cells(j, k)
                        If theCell <> "" Then
                            wks1.Cells(wks1row, k) = theCell
                        End If
                    Next k
                End If
            Next j
            wks1row = wks1row + 1
        End If
    Next i
End Sub

Public Function concnames(ByVal SheetName As Worksheet, therow, thecolumns)
    'This function concatenates the values on the namecolumns to create
    'a single one string.
    'It makes very easy to compare rows.
    originalvalue = ""
    For m = 1 To thecolumns
        cellData1 = SheetName.Cells(therow, m)
        originalvalue = originalvalue & cellData1
    Next m
    concnames = originalvalue
End Function

সঙ্গে ভিবিএ / ম্যাক্রো খুলুন এবং ALT + + F11 , অধীন ThisWorkbook একটি নতুন সন্নিবেশ করান মডিউল এবং ডান দিকে কোড পেস্ট করুন।

ভেরিয়েবল কোড চেক করুন titleRow এবং namecolumns আপনার ক্ষেত্রে সাথে সাথে শীট নাম, এবং এটি চালানো।


0

আপনি একটি পিভট টেবিল ব্যবহার করতে পারে।

সারি এলাকায় পদ্ধতি এবং রং টেনে আনুন

# এর গুলি মান এলাকাতে টেনে আনুন

নিশ্চিত করুন # সংখ্যার গণনা করতে সেট আছে

ট্যাবুলার ফর্ম দেখানোর জন্য বিন্যাস, এবং সমস্ত লেবেল পুনরাবৃত্তি করুন

নিচে আপনার তথ্য একটি ফলাফল:

enter image description here

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.