কলামকে কমা দ্বারা পৃথক করা তালিকায় রূপান্তর করুন


129

আমার কাছে একটি সাধারণ এক্সেল শীট তৈরি করার কাজ রয়েছে যা কলাম এ-তে একটি অনির্ধারিত সংখ্যক সারি নেবে:

1234
123461
123151
11321

এবং এগুলি একটি অন্য কক্ষে কমা-বিচ্ছিন্ন তালিকায় পরিণত করুন যা ব্যবহারকারী সহজেই অনুলিপি করে অন্য কোনও প্রোগ্রামে আটকে দিতে পারে:

1234,123461,123151,11321

এই কাজ করতে সবচেয়ে সহজ পদ্ধিতি হল উপায় কি?


8
সমাধানটির অংশটি হ'ল সম্পাদনা, আটকানো বিশেষ, কলামটিকে এক সারিতে রূপান্তর করতে ট্রান্সপোজ হতে পারে। যদি অন্য প্রোগ্রামটি কমাগুলির চেয়ে ট্যাবগুলিকে গ্রহণ করে তবে আপনি নতুন সারিটি অনুলিপি করার পরে প্রস্তুত।
আরজান

এর বিপরীতে আপনি কীভাবে করবেন? কমা-বিচ্ছিন্ন তালিকা নিন এবং এটিকে সামগ্রীর কলামে রূপান্তর করবেন?
স্টিভভেভ

1
@ স্টেভভ্যু ডেটা ট্যাবে পাঠ্য থেকে কলামগুলির বৈশিষ্ট্যটি ব্যবহার করুন। সমর্থন.microsoft.com/en-us/kb/214261
ট্রেভর

আমি নোটপ্যাড ++ এর মতো এর জন্য কোনও নিয়মিত অভিব্যক্তি সক্ষম পাঠ্য সম্পাদক ব্যবহার করি। কলামের মানগুলি অনুলিপি করুন এবং এডিটরটিতে এটি আটকান, নিয়মিত এক্সপ্রেশনটি অনুসন্ধান করুন এবং প্রতিস্থাপন করুন, "" r \ n "এর সাথে প্রতিস্থাপন করুন", "সন্ধান করুন। আপনি যদি
সিএসভিকে

উত্তর:


145

ধরে নিচ্ছি আপনার ডেটা এ 1 এ শুরু হবে আমি নিম্নলিখিত কলাম বিতে রেখে দেব:

খ 1:

=A1

: B2

=B1&","&A2

এরপরে আপনি কলাম B2 পুরো কলামে পেস্ট করতে পারেন। বি কলামের শেষ কক্ষটি এখন কলাম A এর কমা দ্বারা পৃথক হওয়া তালিকা হওয়া উচিত B


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

একটি শক্তিশালী উইন্ডোজ 10 প্রো কম্পিউটারে এক্সেল 2013 ব্যবহার করে এটি কেবল 30-35 লাইনের পরে ব্যর্থ হয়েছিল। আমার 200 এরও বেশি ভাল প্রয়োজন Michael মাইকেল জোসেফের সমাধান পুরোপুরি কাজ করেছিল।
ট্রায়ালসম্যান

75
  • এক্সেলে কলামটি অনুলিপি করুন
  • ওপেন ওয়ার্ড
  • "পাঠ্য বিশেষ" কেবল পাঠ্য হিসাবে
  • ওয়ার্ডে ডেটা নির্বাচন করুন (যার সাথে আলাদা করে পাঠ্যে রূপান্তর করতে হবে ,), টিপুন Ctrl- H(সন্ধান করুন এবং প্রতিস্থাপন করুন)
  • "কী কী" বক্স টাইপ করুন ^p
  • "প্রতিস্থাপন করুন" বক্স প্রকারে ,
  • "সমস্ত প্রতিস্থাপন করুন" নির্বাচন করুন

+1 মাইক্রোসফ্ট দ্বারা এখানে "অফিসিয়াল" সমাধান হিসাবে একই: সমর্থন.microsoft.com/kb/819964
নিও

খুব বুদ্ধিমান সমাধান ... :-)
সারাভানান

খাঁটি যাদু :)
সুধেজ

30

আপনার যদি অফিস 365 এক্সেল থাকে তবে আপনি টেক্সটজয়াইন () ব্যবহার করতে পারেন:

=TEXTJOIN(",",TRUE,A:A)

এখানে চিত্র বর্ণনা লিখুন


23

আমি আসলে সবেমাত্র ভিবিএতে একটি মডিউল তৈরি করেছি যা সমস্ত কাজ করে। এটি আমার রেঞ্জযুক্ত তালিকা নেয় এবং একটি কমা-বিস্মৃত স্ট্রিং তৈরি করে যা আমার পছন্দের ঘরে প্রবেশ করে:

Function csvRange(myRange As Range)
    Dim csvRangeOutput
    Dim entry as variant
    For Each entry In myRange
        If Not IsEmpty(entry.Value) Then
            csvRangeOutput = csvRangeOutput & entry.Value & ","
        End If
    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)
End Function

সুতরাং আমার কক্ষে, আমি কেবল রেখেছি =csvRange(A:A)এবং এটি আমাকে কমা-বিস্মৃত তালিকা দেয়।


1
আহ .. আমার উত্তরের খুব কাছাকাছি, তবে আমি আপনার প্রয়োগ পছন্দ করি।
এমপিটারসন

10

একটি বিকল্প পদ্ধতি হ'ল এই ইন-ব্রাউজার সরঞ্জামটিতে এক্সেল কলামটি আটকানো হবে:

convert.town/column-to-comma-separated-list

এটি পাঠ্যের কলামকে কমা দ্বারা পৃথক করা তালিকায় রূপান্তর করে।

ব্যবহারকারী যেভাবেই অন্য কোনও প্রোগ্রামে অনুলিপি এবং আটকানো হচ্ছে, এটি তাদের পক্ষে ঠিক তত সহজ হতে পারে।


7

আপনি এই মত কিছু করতে পারে। আপনি যদি একটি বিশাল স্প্রেডশিট সম্পর্কে কথা না বলছেন তবে এটি 'ওকে' সম্পাদন করবে ...

  • Alt-F11, তালিকা তৈরি করতে একটি ম্যাক্রো তৈরি করুন (নীচের কোড দেখুন)
  • এটি শর্টকাট বা সরঞ্জামদণ্ড বোতামে বরাদ্দ করুন
  • ব্যবহারকারী তাদের সংখ্যার কলামটি কলাম এ এ আটকায়, বোতাম টিপবে এবং তাদের তালিকাটি বি 1 তে চলে যাবে।

এখানে ভিবিএ ম্যাক্রো কোডটি রয়েছে:

Sub generatecsv() 

Dim i As Integer
Dim s As String

i = 1

Do Until Cells(i, 1).Value = ""
    If (s = "") Then
        s = Cells(i, 1).Value
    Else
        s = s & "," & Cells(i, 1).Value
    End If
    i = i + 1 
Loop

Cells(1, 2).Value = s

End Sub

'টেক্সট' তে ঘর বি 1 এর ফর্ম্যাটটি সেট করা নিশ্চিত করুন বা আপনি একটি জগাখিচুড়ি নম্বর পাবেন। আমি নিশ্চিত আপনি ভিবিএতেও এটি করতে পারবেন তবে আমি এই মুহুর্তে নিশ্চিত নই এবং কাজটিতে ফিরে আসার দরকার আছে। ;)


7

প্রতিটি লাইনের শেষে একটি কমা রাখতে কেবল vi, বা vim ব্যবহার করুন:

%s/$/,/

এই আদেশটি ব্যাখ্যা করতে:

  • % মানে সমস্ত লাইনে ক্রিয়াটি করুন (যেমন, সন্ধান করুন এবং প্রতিস্থাপন করুন)
  • s প্রতিস্থাপন নির্দেশ করে
  • /যুক্তিগুলি পৃথক করে (অর্থাত্‍ s/find/replace/options)
  • $ একটি লাইনের শেষ প্রতিনিধিত্ব করে
  • , এই ক্ষেত্রে প্রতিস্থাপন পাঠ্য

একমত। কাছেও নয়।
মুন্চেরেলি

প্রসঙ্গে কারণে মন্তব্যে অসমত। এখানে সুপারিশকারী অ্যাকাউন্টযুক্ত কেউ ভিএম ব্যবহারের টাইপ হয়।
ইউনিকজিইক

আমি তবে ভিএম ব্যবহার করি এবং মনে করি যে প্রাথমিক ধারণাটি দরকারী। আমি ধারণাটি এবং একটি সাধারণ পাঠ্য সম্পাদক ব্যবহার করে সমস্যার সমাধান করেছি।
নিগিনি

2

সারিটিকে কলামে পরিণত করার বিষয়ে আপনি কীভাবে গীকের গাইড ব্যবহার করতে পারেন এবং কেবল এটির বিপরীত। তারপরে ডেটা সিএসভি (কমা-বিস্মৃত বিন্যাস) হিসাবে রফতানি করুন এবং আপনার প্লেটেক্সট কমা-বিচ্ছিন্ন তালিকা রয়েছে! আপনি চাইলে নোটপ্যাড থেকে অনুলিপি করতে পারেন এবং এটিকে আবার এক্সেলে রেখে দিতে পারেন। এছাড়াও, আপনি যদি কমাটির পরে কোনও স্থান চান, আপনি অনুসন্ধান এবং প্রতিস্থাপন বৈশিষ্ট্যটি "," সাথে "," এর সাথে প্রতিস্থাপন করতে পারেন। আশা করি এইটি কাজ করবে!


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

2

মুনছেলে, আপনার উত্তরটি আমি পছন্দ করেছি, এবং আমি এটি টুইট করেছি :)। কেবলমাত্র একটি ছোট্ট বিষয়, আমি শীট থেকে ডেটা টানতে এবং ডেটাবেসকে জিজ্ঞাসা করতে এটি ব্যবহার করি। আমি একটি alচ্ছিক "টেক্সটকুয়ালাইফাই" প্যারামিটার যুক্ত করেছি যা একটি ক্যোয়ারিতে ব্যবহারযোগ্য কমা বিচ্ছিন্ন তালিকা তৈরি করতে সহায়তা করে।

Function csvRange(myRange As Range, Optional textQualify As String)
    'e.g. csvRange(A:A)  or csvRange(A1:A2,"'") etc in a cell to hold the string
    Dim csvRangeOutput
    For Each entry In myRange
        If Not IsEmpty(entry.Value) Then
            csvRangeOutput = csvRangeOutput & textQualify & entry.Value & textQualify & ","
        End If
    Next
    csvRange = Left(csvRangeOutput, Len(csvRangeOutput) - 1)
End Function

1

আমি একটি এক্সেল শীট পরিচালনা করতে জেনারেটসসিভি () সাব উন্নত করেছি যাতে প্রতিটি তালিকার শিরোনাম এবং তাদের শিরোনামগুলি থেকে তালিকাগুলি উভয়ই পৃথক করে খালি রেখাসমূহ সহ একাধিক তালিকা রয়েছে handle উদাহরণ

list title 1

item 1
item 2

list title 2

item 1
item 2

এবং তাদের একসাথে একাধিক সারিতে মিশ্রিত করে, প্রতি তালিকায় 1।

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

    Sub generatecsv()

      Dim dataRow As Integer
      Dim listRow As Integer
      Dim data As String

      dataRow = 1: Rem the row that it is being read from column A otherwise known as 1 in vb script
      listRow = 1: Rem the row in column B that is getting written

      Do Until Cells(dataRow, 1).Value = "" And Cells(dataRow + 1, 1).Value = ""
        If (data = "") Then
          data = Cells(dataRow, 1).Value
        Else
          If Cells(dataRow, 1).Value <> "" Then
            data = data & "," & Cells(dataRow, 1).Value
          Else
            Cells(listRow, 2).Value = data
            data = ""
            listRow = listRow + 1
          End If
        End If
        dataRow = dataRow + 1
      Loop

      Cells(listRow, 2).Value = data

    End Sub

1

স্যাক্স 2 লসের উত্তরটি আমার পছন্দের পদ্ধতি, তবে আপনি কয়েক হাজার সারিয়েরও বেশি লেনদেন করলে এটি কার্যকর হয় না এবং যদি আপনার কম্পিউটারে প্রচুর স্মৃতি না থাকে তবে কম সারিও ভেঙে যেতে পারে।

এক্ষেত্রে সেরা অনুশীলনটি হ'ল কলামটি অনুলিপি করা, একটি নতুন ওয়ার্কবুক তৈরি করা, নতুন ওয়ার্কবুকের অতীতে বিশেষ A1এবং Transposeযাতে কলামটি এখন সারি। তারপরে একটি হিসাবে ওয়ার্কবুক সংরক্ষণ করুন .csv। আপনার সিএসভি এখন মূলত একটি সরল-পাঠ্য কমা বিচ্ছিন্ন তালিকা যা আপনি কোনও পাঠ্য সম্পাদককে খুলতে পারেন।

দ্রষ্টব্য: সিএসভি হিসাবে সংরক্ষণের পূর্বে কলামটি একটি সারিতে স্থানান্তর করতে ভুলবেন না। অন্যথায় এক্সেল মানগুলির মধ্যে কমা আটকে রাখতে জানে না।


-1

সবচেয়ে সহজ উপায়গুলির মধ্যে একটি হ'ল এই ধরণের কমা বিভাজনমূলক কাজের জন্য জামাজিন.কম ওয়েব অ্যাপ্লিকেশনটি ব্যবহার করা। কলাম বিভাজিত তালিকা তৈরি করতে কেবল কলামের ডেটা পূরণ করুন এবং রূপান্তর বোতামটি চাপুন। এমনকি আপনি পছন্দসই আউটপুট উন্নত করতে অন্য কিছু সেটিংস ব্যবহার করতে পারেন।

http://zamazin.co/comma-separator-tool

এখানে চিত্র বর্ণনা লিখুন


এটি এখন ডিলিম.কম
ফিল

-2

=CONCATENATE(A1;",";A2;",";A3;",";A4;",";A5)আপনি ফলাফলটি প্রদর্শন করতে চান এমন ঘরে ব্যবহার করুন।


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