আমি কিভাবে একক সারির কলাম একাধিক সারি এবং কলামে বিভক্ত করব?


0

আমি সব দেখেছি এবং আমি জানি না এটি অনুসন্ধানের জন্য কীভাবে শব্দ করা যায়, নাকি সেখানে কেবল কিছু নেই। মূলত, আমার এক্সেল শীট তথ্য একটি টেক্সট ফাইল থেকে টানা ছিল। আমি অনেক কাজ করে যাচ্ছি (সীমাবদ্ধতা এবং অনেকগুলি / প্রতিস্থাপন / প্রতিস্থাপিত) শুধু এটি এক্সেলের মধ্যে সঠিকভাবে হস্তান্তর করার জন্য, এবং এটি এখনও সঠিক নয়, তবে আমি অনুমান করবো। দুর্ভাগ্যবশত, এটি সবকিছুকে একক সারিতে স্থানান্তরিত করে (অর্থাৎ A1, B1, C1, ইত্যাদি)। আমি একাধিক সারিতে বিভক্ত তথ্য প্রয়োজন;

     A | B
1 | id | 219832
2 | id | 2398
3 | id | 0382
etc

যথোপযুক্ত সৃষ্টিকর্তায় স্থাপন করা যেহেতু যেকোনো অন্য কোষের শিরোনাম এবং সেলের অংশ বিবেচনা করা হচ্ছে;

     A  |  B   |   C   |   D
1 | id  | type | label | date
2 | 232 |  A   |  Here | 12/12/12
3 | 643 |  B   | There | 10/14/11
4 | 832 |  A   | None  | 09/29/13
etc

এই বর্তমানে তথ্য হিসাবে এই প্রদর্শিত হয়

    id | TTXW5IAXBSWDETCQZKGUNKK2RYKOVVFQ4S3VGCV | type | A | Label | Here | date | 12/12/12 | id 
etc

কেউ আমাকে এটা করতে সাহায্য করতে পারে, আমি এটা অনেক প্রশংসা করি। যদিও দ্বিতীয় বিকল্পটি আমার কাছে আরও সহায়ক হবে, যেহেতু আমাকে এই তথ্যটি সর্বজনীনভাবে স্থানান্তরিত করতে হবে তাই প্রথম বিকল্পটি গ্রহণযোগ্য হবে কারণ আমি কেবল সেখানেই কাজ করতে পারি। এছাড়াও, শুধু আপনি এই বিশাল কতটি জানেন, আমার সারি JON1 পর্যন্ত বিস্তৃত।

সম্পাদনা:

এছাড়াও, সমস্ত খুঁজে / প্রতিস্থাপন ছাড়া (কিছু কিন্তু প্রায় যতটা না), তথ্য প্রতিটি কোষে পেস্ট করা হয়;

"id":"TTXW5IAXBSWDETCQZKGUNKK2RYKOVVFQ4S3VGCV"

এবং এই ভাবে কিভাবে দেখায়

    "id":"TTXW5IAXBSWDETCQZKGUNKK2RYKOVVFQ4S3VGCV" | "type":"A" | "label":"Here" | "date":"12/12/12" | {"id": 
etc

অথবা অনুরূপ কিছু। যে সঙ্গে কাজ করা সহজ হবে, তারপর যে ভাল হিসাবে ভাল হবে। আমি তথ্যটি ব্রাউজ করে দেখছি যে, তথ্যটির প্রতিটি লাইন "আইডি" দিয়ে শুরু হবে না, এটি পরিত্রাণ পেতে কোনও সন্ধান / প্রতিস্থাপন না করেই, তথ্যগুলির নতুন লাইনগুলির শুরুতে {এটির সামনে ;

{"type":"A" |
{"id":"3242134" |
like that

1
সম্ভবত আপনার কাছে থাকা সারির একটি উদাহরণ এবং পছন্দসই ফলাফল আপনার সমস্যার আরও ভাল বোঝার জন্য সাহায্য করতে পারে।
jcbermu

আপনি আপনার এক্সেল ফাইল আপলোড করতে পারেন?
Firee

না, আমি আইনত করতে পারি না। ফাইলটির মধ্যে অত্যন্ত সংবেদনশীল তথ্য আছে।
ইয়ানোসা ট্রায়ামন্টে

আপনি এখনও উৎস তথ্য আছে এবং যদি তাই হয়, আপনি তার কাঠামো বর্ণনা করতে পারেন? স্ক্র্যাচ থেকে এটি পুনরায় লোড করার উপায় হতে পারে কিনা তা নিয়ে আমি কেবল অবাক হয়েছি যা বর্তমান অবস্থা থেকে শুরু করার চেয়ে আরও কার্যকর হবে।
fixer1234

উত্তর:


0

সহজ উপায় ভিবিএ মাধ্যমে হয়। আমি মনে করি সারি 1 এর প্রতিটি কোষে একটি "ক্ষেত্র" আছে

{"id" : "TTXW5IAXBSWDETCQZKGUNKK2RYKOVVFQ4S3VGCV" | "type" : "A" | "label": "Here" 

আপনাকে ম্যাক্রোতে যেতে হবে এবং একটি নতুন তৈরি করতে হবে, নিম্নলিখিত কোডটি সন্নিবেশ করান:

 Sub test()
        Dim wks As Worksheet
        Set wks = ActiveSheet
        Final = False
        i = 1
        InitialRow = 2
        Dim labels(0 To 4) As String
        labels(0) = "id"
        labels(1) = "type"
        labels(2) = "label"
        labels(3) = "grouping"
        labels(4) = "created"
        While Final = False
            ThisCell = Trim(wks.Cells(1, i))
            iniChar = Left(ThisCell, 1)
            If iniChar = "{" Then
                lengthCell = Len(ThisCell)
                ThisCell = Trim(Right(ThisCell, lengthCell - 1))
                InitialRow = InitialRow + 1
            End If
            PosLabelinCell = InStr(ThisCell, ":")
            LabelinCell = Trim(Left(ThisCell, PosLabelinCell - 1))
            lLabelinCell = Len(LabelinCell)
            DatainCell = Trim(Mid(ThisCell, PosLabelinCell + 1))
            lDatainCell = Len(DatainCell)
            LabelinCell = Mid(LabelinCell, 2, lLabelinCell - 2)
            DatainCell = Mid(DatainCell, 2, lDatainCell - 2)
            Select Case LabelinCell
                Case labels(0)
                    wks.Cells(InitialRow, 1) = DatainCell
                Case labels(1)
                    wks.Cells(InitialRow, 2) = DatainCell
                Case labels(2)
                    wks.Cells(InitialRow, 3) = DatainCell
                Case labels(3)
                    wks.Cells(InitialRow, 4) = DatainCell
                Case labels(4)
                    wks.Cells(InitialRow, 5) = DatainCell
            End Select
            i = i + 1
            If wks.Cells(1, i) = "" Then
                Final = True
            End If
        Wend
End Sub

এটি প্রথম সারির সমস্ত কোষের মধ্য দিয়ে যাবে এবং প্রতীকটির সাথে একটি কোষ শুরু হবে কিনা তা পরীক্ষা করে দেখুন , { এটি একটি নতুন লাইনের রূপ ধারণ করে । 4 টি লেবেল থেকে যদি আপনি আমাকে হারিয়েছেন (আইডি, টাইপ, লেবেল, গ্রুপিং, তৈরি) তাহলে এটি একটি ফাঁকা ঘর ছেড়ে দেবে।

এখন, ম্যাক্রোটি F5 দিয়ে বা সবুজ "play" বাটন দিয়ে চালান; সারি 3 থেকে কলাম দ্বারা সংগঠিত সমস্ত তথ্য থাকবে।


সঠিক। কিছু অজানা কারণের জন্য আইডি ক্ষেত্র সর্বদা একটি এন্ট্রির প্রথম ক্ষেত্র নয়। এই বিষয়টি বিবেচনা করে, কীভাবে দ্বিতীয় ধরনের ক্ষেত্রের জন্য এটি পুনরায় চালু করা হবে ({"id": "যাই হোক না কেন")? অন্তত এটির সাথে, এটি একটি নতুন সারিতে প্রতিটি এন্ট্রি স্থাপন করতে ব্যবহার করা যেতে পারে। হয় যে, অথবা এটি নির্দিষ্ট মান অনুসন্ধানের জন্য এবং শুধুমাত্র নতুন সারিতে যারা রাখুন। আমি এটি পুনর্নির্মাণ করার চেষ্টা করছি এবং ~ 70% ক্ষেত্র আর প্রয়োজন হয় না।
ইয়ানোসা ট্রায়ামন্টে

আমি যদি VBA স্ক্রিপ্ট পরিবর্তন করতে পারি তবে আমি জানি যে কোন ল্যাবলগুলি আমি খুঁজে পেতে পারি (উদাহরণস্বরূপ, আইডি, টাইপ, নাম ইত্যাদি)।
jcbermu

আমার প্রয়োজন লেবেল; id type label grouping created যারা 5 প্রতিস্থাপন জন্য একটি সঠিক সিস্টেমের মধ্যে আদেশ পেতে প্রয়োজন হয়। ধন্যবাদ।
ইয়ানোসা ট্রায়ামন্টে

ম্যাক্রো এক্সেলটি পরীক্ষা করে দেখুন, আমি এটি পরিবর্তন করেছি, তাই এটি যখনই ডেটা খুঁজে পাবে তখন এটি কাজ করবে: {"টাইপ": "A" | {"আইডি": "3242134" | যে মত
jcbermu

এটা কাজ করছে না। শুধু যে জিনিস ঘটবে এটা চূড়ান্ত সক্রিয়।
ইয়ানোসা ট্রায়ামন্টে

1

আপনি এক্সেল inbuilt বৈশিষ্ট্য ব্যবহার করতে পারেন।

নীচের পদক্ষেপ অনুসরণ করুন:

  1. ডেটা ট্যাবে যান ।
  2. ইন ডেটা সরঞ্জামগুলি গ্রুপ আপনি দেখতে পাবেন "কলাম পাঠ্য থেকে" যে উপর ক্লিক করুন।

এখন আপনার প্রয়োজন অনুসারে রূপান্তর পাঠ্যতে কলাম উইজার্ডে নির্দেশ অনুসরণ করুন।

যদি এটি আপনাকে সাহায্য না করে তবে একটি ইনপুট সার এবং পছন্দসই আউটপুট সরবরাহ করুন।


এক্সেল অভিযোগ করে যে এক সময়ে শুধুমাত্র একটি কলাম নির্বাচন করা যেতে পারে। সমস্ত জিনিস বিবেচনা 1 সারি এবং 7000+ কলাম গঠিত, যে কাজ করবে না।
ইয়ানোসা ট্রায়ামন্টে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.