こんな感じでA列の不特定多数の行を取る簡単なエクセルシートを作成する作業があります
1234
123461
123151
11321
そして、ユーザーが簡単にコピーして別のプログラムに貼り付けることができるように、別のセルにカンマで区切られたリストにしてください
1234,123461,123151,11321
一番簡単な方法は何でしょうか?
141 muncherelli 2011-02-02
あなたのデータがA1から始まると仮定して、私は次のようにB列に書きます
B1:
=A1
B2:
=B1&","&A2
そして、B2列を下に丸ごと貼り付けます。B列の最後のセルは、A列のカンマ区切りのリストになっているはずです
151 Sux2Lose 2011-02-02
- エクセルの列をコピーします
- Open Word
- “特殊な貼り付け “をテキストのみに
- Word内のデータ(
,
で区切られたテキストに変換したいもの)を選択し、Ctrl–H(検索&置換)を押します - 検索」ボックスに
^p
と入力してください - 置換先」ボックスに
,
と入力してください - すべてを置き換える」を選択
87 Michael Joseph 2012-06-05
Office 365 Excelをお持ちの場合は、TEXTJOIN()を使用することができます
=TEXTJOIN(",",TRUE,A:A)
47 Scott Craner 2017-01-25
私は実際にVBAですべての作業を行うモジュールを作成しました。これは私の範囲リストを取り、カンマで区切られた文字列を作成し、それを私の選択したセルに出力します
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)
と入力すると、カンマ区切りのリストが表示されます
25 muncherelli 2011-02-03
別の方法としては、Excelの列をこのインブラウザツールに貼り付けるという方法があります
convert.town/column-to-comma-separated-list
テキストの列をカンマ区切りのリストに変換します
いずれにせよ、ユーザーは別のプログラムにコピー&ペーストしているので、これは彼らにとっては簡単なことかもしれません
12 sunset 2015-04-22
このようなことができます。もしあなたが巨大なスプレッドシートの話をしていないなら、これは「OK」を実行するでしょう
- Alt-F11、リストを作成するためのマクロを作成します(以下のコードを参照してください)
- ショートカットやツールバーのボタンに割り当てます
- ユーザーが数字の列をA列に貼り付け、ボタンを押すと、リストはセルB1に入ります
以下はVBAのマクロコードです
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
セルB1の書式を’text’に設定してください。VBAでもできると思いますが、今のところ方法がわからず、仕事に戻る必要があります。)
7 mpeterson 2011-02-02
vi や vim を使用して、各行の最後にカンマを置くだけです
%s/$/,/
このコマンドを説明するために
%
は、すべての行に対してアクション(すなわち、検索と置換)を行うことを意味しますs
は置換を示します/
は引数を区切ります(つまり、s/find/replace/options
)$
は行末を表します,
はこの場合の置換テキストです
7 Breathwork 2011-02-06
あなたは、行を列に変換する方法についてのHow-To Geekのガイドを使用して、単にそれを反転させることができます。その後、csvとしてデータをエクスポート (カンマ消去形式), そして、あなたの平文のカンマで区切られたリストを持っています!メモ帳からコピーして、必要に応じてエクセルに戻すことができます。また、あなたがカンマの後にスペースが必要な場合は、検索を行うことができます
2 Duall 2011-02-02
muncherelliさん、私はあなたの答えが気に入ったので、それをいじってみました。)ちょっとしたことですが、私はシートからデータを取り出して、データベースへの問い合わせに使用することがあります。私はオプションの “textQualify “パラメータを追加しました。これは、クエリで使用可能なカンマで区切られたリストを作成するのに役立ちます
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
2 mitch 2011-04-08
私は generatecsv() サブを改良して、複数のリストを含むエクセルシートを扱うようにしました
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 roger lamb 2011-09-28
Sux2Loseの答えは私の好ましい方法ですが、それはあなたが数千行以上を扱っている場合は動作しませんし、あなたのコンピュータがあまり利用可能なメモリを持っていない場合は、さらに少ない行のために壊れる可能性があります
この場合の最良の方法は、列をコピーして新しいワークブックを作成し、新しいワークブックのA1
にスペシャルを貼り付け、Transpose
で列が行になるようにすることです。そしてワークブックを.csv
として保存します。これでcsvは基本的にはテキストエディタで開くことができる平文のカンマ区切りのリストになります
注:csvとして保存する前に、列を行に変換することを忘れないでください。そうしないと、Excelは値の間にカンマを入れることができません
1 samthebrand 2014-10-06
私はこうしました
不要な列とデータをすべて削除し、.csvファイルとして保存した後、Visual Studioのコードエディタを使用して余分なカンマと改行を置き換えました。ホラ
0 Arun Prasad E S 2019-11-29
最も簡単な方法の一つは、このようなカンマ区切りのタスクにzamazin.coのウェブアプリを使用することです。列データを入力して変換ボタンを押すだけでカンマ区切りのリストを作成できます。他にもいくつかの設定を使用して、目的の出力を改善することができます
-1 Hakan 2016-11-02
結果を表示したいセルに=CONCATENATE(A1;",";A2;",";A3;",";A4;",";A5)
を使用します
-2 Johnny 2011-02-02