AKB48の推しメンをセンターにできちゃうかもしれない!? >>

複数のセル(20個ほど)に数字が入力されてる場合、カンマを入れてひとつのセルに統合する方法を教えてください。
よろしくお願いいたします。

例)
セル内数字
011122
022111   →011122,022111,033111
033111
 

このQ&Aに関連する最新のQ&A

A 回答 (5件)

>複数のセル(20個ほど)に数字が・・・


◆10個以下のセルに数字が入力されていれば、カンマを入れてひとつのセルに統合します

=SUBSTITUTE(TRIM(A1&" "&A2&" "&A3&" "&A4&" "&A5&" "&A6&" "&A7&" "&A8&" "&A9&" "&A10)," ",",")
    • good
    • 16

セルの値の結合は


(1)&演算子
(2)CONCATENATE関数
(3)VBA
などで実現する。
ーー
(1)&などエクセルの常識。+-*/と同列の演算子だよ。
ただし(1)はつなげる数に制限はないと思うが、(2)には引数の数に制約がある。30個まで。この質問の場合はOKだが)
(3)はユーザー関数を作る。
(VBAになじみが無ければ、そういう方法もあると知ればよい)
Function ketug(a)
For Each cl In a
s = s & cl & Chr(44)
Next cl
ketug = Left(s, Len(s) - 1)
End Function
使い方は蒸気をVBEの標準モジュールに貼り付け
シートのセルの式として =ketug(B2:B10) のようにエクセル関数のように使う。
こちらはセル数の制限はない。2列以上にわたる指定では使えない。
    • good
    • 5

次の2種類があります。


   A
1 011122
2 022111
3 033111
(1)=CONCATENATE(A1,",",A2,",",A3)
(2)=A1&","&A2&","&A3
(1)は関数。(2)は&を使った場合です。
    • good
    • 9

例えばA2セルからA21セルに数値があるとしてB2セルには次の式を入力して下方にオートフィルドラッグします。


=IF(A2="","",B1&A2&IF(A3="","",","))
B列の最後の行に答えが表示されます。
    • good
    • 9

=CONCATENATE関数が入っていれば


=CONCATENATE(セル番地,",",セル番地,",",セル番地)
と20個入れれば出来ると思います。
    • good
    • 3

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで文字を含む式に、カンマ(,)をつけるには??

おはようございます。お世話になります。

エクセルで、以下のような式を入力しました。

=A12&"("&TEXT(G12*2.45,0)&"円)

全体額(120002円)

一部額(25830円)
などと出るのですが、この数字にカンマ(,)をつけるにはどうしたら良いのでしょうか?

宜しくお願いします。

Aベストアンサー

こんにちは。

マイナス値や小数点以下を考慮しないなら

=A12&TEXT(G12*2.45,"(#,##0円)")

Qexcelデータをコンマ付きテキストで出力したい

おはようございます。
excelデータをコンマ付きテキストで出力したいのですが、その方法を教えてください。

Aベストアンサー

CSVなら
名前をつけて保存で
ファイルの種類でCSV(カンマ区切り)
を選ぶ

QExcelで複数セルからの文字の結合

A1~A20までのセルにそれぞれ文字が入っています。
=A1&A2&A3&…&A20
で、A1~A20までの内容を結合できると思います。
これ以外で、もっと簡単な式で同じ結果を出す方法は無いでしょうか?

Aベストアンサー

こんにちは。

>もっと簡単な式で同じ結果を出す方法は無いでしょうか?

「&」演算子を使う以外には、基本的にはないと思います。

領域を統合するという関数は、ワークシートには用意されていません。名前は、たぶん、JOINという名が付けられるはずですが、それは未だ採用されていません。

Concatenate関数は、別にExcel用にあるのではなく、他機種が、「&」演算子が使えないためにあるだけに過ぎません。

そこで、myJoin というユーザー定義関数を考えてみました。

設定の仕方
Alt +  F11 (Altを押しながらF11)を押すと、Visual Basic Editor 画面が出てきます。
次に、メニューの[挿入]-[標準モジュール]と開けて、クリックすると、画面が現れますので、このコードを貼り付けて、再び、Alt + F11 で、画面を閉じます。

ただし、登録したブックのみの有効です。

'<標準モジュール>
Function myJoin(範囲 As Range, Optional 区切り文字 As String) As Variant
Dim c As Range, buf As String
  If 範囲.Rows.Count = 1 Or 範囲.Columns.Count = 1 Then
   For Each c In 範囲
     buf = buf & 区切り文字 & c.Value
   Next c
   If 区切り文字 <> "" Then
     myJoin = Mid$(buf, 2)
     Else
     myJoin = buf
   End If
   Else
   myJoin = CVErr(xlErrRef) 'エラー値
  End If
End Function

使い方:

=MYJOIN(A1:A20)

=MYJOIN(A1:A20,",")
とすると、「,」区切りで出てきます。

必ず、縦1列か横1行の範囲を指定してください。
どちらか一方が2列か2行以上の場合は、エラーが出ます。

汎用的にどこにでも使いたい場合は、アドイン化しなければなりません。マクロが少し分る方の、Public ステートメントをつけるというのは良くある誤解です。

こんにちは。

>もっと簡単な式で同じ結果を出す方法は無いでしょうか?

「&」演算子を使う以外には、基本的にはないと思います。

領域を統合するという関数は、ワークシートには用意されていません。名前は、たぶん、JOINという名が付けられるはずですが、それは未だ採用されていません。

Concatenate関数は、別にExcel用にあるのではなく、他機種が、「&」演算子が使えないためにあるだけに過ぎません。

そこで、myJoin というユーザー定義関数を考えてみました。

設定の仕方
Alt +  F11 ...続きを読む

QExcel:複数のセルの内容を、ひとつのセルにすべて移したい。

たとえばA.B.Cのセルがあって、この内容をDのセルに
すべて移すにはどうしたらいいんでしょうか?

A.B.Cの内容をコピー貼り付けだと、
どうしてもDひとつだけでなく、その隣のセルに
内容をコピーしてしまいます。

Aベストアンサー

コピーしたいセルを選択してCtl+C

全部を貼り付けたいセルをダブルクリック

Ctl+Vではなく、オフィスクリップボードから貼り付け

Qエクセルの文字列を結合しても、数値の桁区切りが消えないようにするには?

例えばエクセルで、
「A1」のセルには「定価」、
「A2」のセルには「1000」、
「A3」のセルには「円」という文字が入っていたとします。

このエクセル上の文字列を「=CONCATENATE(A1,A2,A3)」の関数で結合します。

「A2」の書式設定は、数値にして桁区切りにチェックを入れているので、
セルの表示上は「1,000」となっていますが、「CONCATENATE」でセルを
結合した後の結果は以下のようにカンマが消えてしまいます。

CONCATENATE(A1,A2,A3)の結果 ⇒ 定価1000円

これを「定価1,000円」という風に表示させる良い方法はないでしょうか?
宜しくお願いいたします。

Aベストアンサー

そういうやり方だと、カンマを残すことは出来ませんね。

カンマを残すためには、「書式設定」ではなく「文字列」として
カンマをつけたデータを作る必要があります。現状の式を生かすなら、

=CONCATENATE(A1,TEXT(A2,"#,##0"),A3)

TEXT関数で数値を文字列式に変換すれば何とかなりますよ。

QエクセルのIF関数で、文字が入力されていたならば~

エクセルのIF関数で文字が入力されていたならば~、という論理式を組み立てたいと思っています。

=IF(A1="『どんな文字でも』","",+B1-C1)

A1セルに『どんな文字でも』入っていたならば、空白に。
文字が入っていなければB1セルからC1セルを引く、という状態です。

この『どんな文字でも』の部分に何を入れればいいのか教えてください。

またIF関数以外でも同様のことができれば構いません。

宜しくお願いします。

Aベストアンサー

=IF(ISTEXT(A1),"",B1-C1)

でどうでしょうか?

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Qエクセルで重複しているデータの抽出のしかたを教えてください。

エクセルで重複しているデータを抽出したいのですが・・。なにぶん初心者なもので簡単な方法があればよいのですが・・。
A列に日付 B列に企業名このデータが300件ほどあります。

 Å列      B列
1月 1日    AAAA社
1月 4日   BBBB社
1月 8日   CCCC社
2月 1日   BBBB社
2月20日    DDDD社
3月 2日   AAAA社

と、あるとしてB列の企業名が重複しているものを抽出したいのですが・・・。この場合 AAAA社とBBBB社ですが。
これを簡単に抽出する方法はないでしょうか?
教えてください お願いいたします。

Aベストアンサー

企業名がセルB2からセルB300まで入力されていると仮定します。
セルC2に IF(COUNTIF($B$2:B2,B2)>1,"*","") を入力し、セルC300までコピーして下さい。すると重複したデータの二番目以降に "*" のマークが付きます。
(注) 数式を下のセルまでコピーするため、COUNTIF($B$2 は絶対参照にして下さい。

Qエクセルの表ををメモ帳などにカンマで区切って一列に表記

 はじめまして。よろしくお願いします。

 エクセルで、列に2項目、行が20行の表があります(セル:A1~B20)。
この表のそれぞれの行をカンマで区切って横並べしてテキスト表示
したいのですが、一括で行う方法はないでしょうか。
つまり
エクセル
A1 B1
A2 B2



A20 B20
で表されたものを以下のようにテキスト表記したいのです。
A1 B1,A2 B2,・・・,A20 B20

Aベストアンサー

Wordにコピーしてから編集してはいかがでしょう?
Excelで範囲を選択してコピー
Wordで[形式を選択して貼り付け]-[貼り付ける形式=(テキスト)]を選択して貼り付け
[置換]-[オプション]-[特殊文字]
検索する文字列=[段落記号]
置換後の文字列=[,] で1回目の置換
検索する文字列=[タブ文字] に変更して2回目の貼り付け
お望みの形式になると思いますので
[名前を付けて保存]-[ファイルの種類]=(書式なし(*.txt))]
officeのバージョンで上記と違うかもしれません。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング