- ベストアンサー
セル内で移動?
セルの中で、カンマ区切りで英数字が並んでいるのですが、その英数字を昇順で並べ替えしたいのですが、1つのセルの中で並べ替えはできるのでしょうか? 例えば セル内に(A3,A5,A6,A2)と入力されていた場合(A2,A3,A5,A6)にしたいのですが・・・ カンマ区切りのように、列が増えると困るのです、セル内で出来る方法があれば教えてください。
- 124nannan
- お礼率100% (4/4)
- その他(ビジネス・キャリア)
- 回答数2
- ありがとう数3
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>セル内で出来る方法があれば教えてください ⇒セル内で並び替える事はマクロ(VBA)組み込みでしかないと思います。 マクロ例です。 A列にカンマ区切りデータとしています。 データシートタブ上で右クリック→コードの表示→以下のコードを貼り付け→F5キー押下 Sub sample() For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row wk = Split(Cells(i, "A"), ",") For j = 0 To UBound(wk) For k = UBound(wk) To j Step -1 If wk(j) > wk(k) Then swap = wk(j) wk(j) = wk(k) wk(k) = swap End If Next k Cells(i, "A") = Join(wk, ",") Next j Next i End Sub
その他の回答 (1)
- Cupper-2
- ベストアンサー率29% (1342/4565)
セルを編集すればOK。 難しく考える必要なし。 たくさんあって編集では追いつかないとか言うのでしたら、 一度分解して並べ替えてから結合ですね。 他のシートに 「区切り位置」 機能で列方向に分解して、並べ替えて、結合した物をコピーして貼り付け直せば オリジナルのシートに列が増えることはありません。
お礼
ありがとうございます。 早速試してみます、助かりました。
関連するQ&A
- excelで、1つのセルに入っている複数の数字を合計するには?
Excel(2002以降)で、たとえば セルA1に 33,2,55,764 セルA2に 654,654,8,165,46 のように、カンマ区切りで数字が入っていて、 その数字の合計をB列に表示させるということは可能でしょうか? 試算用にB列・C列などを使い、結果をD列、などという方法でも大丈夫ですが、数字がいくつに分けられるかはわからない(極端な話100個や200個の可能性もある)ので、その分のセルを確保するのは無理です。 数字はいくつ入っているかはセルごとに違い、何も入っていない場合や1つしかない場合もあります。 カンマを+に置換して計算させるような関数があればできそうだと思ったのですが、ヘルプでは探しだせませんでした。 なにかいい方法があればお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルVBAでセルの選択する方法
B3セルからI200セルまで全部データが入力されている データを C3キー昇順と、F3キー昇順並べ替えしたいと考えています。 まず B3を選択して 次に I列の最終データを xldownを使用? 選択し 並べ替えすればいいのでは? と考えましたが、 その選択方法が分かりません。 よろしくお願いします。 直接I200を指定しないのは、 データによって 200行だったり 220行だったりすることがあるためです。
- ベストアンサー
- Visual Basic
- エクセルで同じ数値が入っているセルを探したい
B列にID番号(数字1桁~5桁)が入っており、たくさんの数の中から同じ数がダブって入力されているものを探し出したいのです。 今は効率的な方法がわからないので、昇順で並べ替えをしてから、ひとつひとつチェックしている状態です。 良い方法があったら是非、教えてくださいm(_ _)m
- ベストアンサー
- オフィス系ソフト
- セルの中の数字をカンマごとに各セルに抽出したい!!
例 A1 12,345,678 ↓ B1 12 B2 345 B3 678 上記のようにセルA1に12,345,678と入力されていてカンマ区切りで別のセルに数字を抽出することはできますか? お力をお貸しくださいませ!
- ベストアンサー
- オフィス系ソフト
- CSVデータをエクセルのセルに入れたい・・・
よろしくお願いします。 CSVデータを当方ではエクセルで開いてます。 カンマ区切りごとのデータがエクセルのセルに1つずつ入力されてるので 不用データを行や列ごと削除できるので便利に使っていました。 が、他のPCでデータを同じように加工しようとしたところ、最初のセルに全て連続して入っているという状態で、上記のような作業が出来ませんでした。 5台のPCともXPでエクセル2003です。 テキスト形式・タブ区切り・カンマ区切りなどなど専門的なことが良く判っていないため、説明もうまくできませんが、PCの設定なのか?セルに1つづつ分ける方法があるのか?何でわたしのだけ? ?? 引継ぎが出来ず困っておりますのでどなたかお願いします。教えてください!!
- ベストアンサー
- その他([技術者向] コンピューター)
- ひとつのセル内のある文字をカウントしたい
過去ログを検索してみたのですが、見つからなかったため、質問いたします。 ひとつのセルに名前がカンマ(、)区切りで入力されてあります。 名前をカウントするため、以下の計算式を入れてみたのですが、 思ったように結果が出ません。 IF(A1="",0,COUNTA(A1,"*、*")+1) 上の計算式の意味: A1のセルに何も入力されていない場合は、0 そうでない場合は、カンマの数に1を加えた数を出力 ex)田中、山田、木村 ⇒ 3 どのような計算式を立てればよいのでしょうか。 ご教授をお願いいたします。
- ベストアンサー
- オフィス系ソフト
- Excelのデータ表示変更(横:1セル⇒縦:複数セル)
Excelで同一セル内にに記載してあるデータ(カンマ区切り)を 行を分けて表示したいのですが、簡単な方法はありますか? 例) A列 B列 ---- -------- 001 T1,T2,T3 を A列 B列 ---- -------- 001 T1 001 T2 001 T3 と変更したいのです。 アドバイスをお願いいたします。
- 締切済み
- オフィス系ソフト
- エクセルの並び替えで日本語を先にしたい
エクセルの並べ替えで質問です。 バージョンは2003です。 同じ列に日本語と英数字とが入力されているセルが多数あり、 それをあいうえお順に並べ替えたいと思っています。 エクセルの並べ替えでソートすると、 どうしても英数字が先に表示され、 その後に日本語のセルが表示されてしまいます。 並べ替えで日本語を先に表示して、 次に英数字と並べ替えたいのですが、 良い方法はないでしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- セル移動マクロを教えて下さい。
エクセルで最終行の次の行(新規入力となる行)の左4つ目のセルに移動するマクロを作りたいのですが、出来るでしょうか。 例えば列Aに1から3000までのNOが入っているとします。 B列からD列までは他のデータに使用しているため新規入力データE列の行から右に入力しています。 NO125の行までデータ入力している場合、ボタンをクリックすれば、A列のNO126(新規入力行のA列)にセルが移動するマクロです。 よろしく、お願いいたします。
- ベストアンサー
- オフィス系ソフト
- マクロ、セルの値から行挿入して転記する方法
エクセル2013です。 セルA1に 1,8,9,15 セルA2に 7,12 セルA3に 20,14,28 と入力されているとします。 For~Nextで回して セルA1のカンマの数を InStr関数で数えて カンマが3個だから その3を変数に入れて それを利用して A2から3行行挿入します。 で カンマで区切られた順に A1には1 A2には8 A3には9 A4には15 と転記させる カンマは消してしまう で、この時点で 元々セルA2だった所は セルA5になっていて 7,12 が入力されているはずです。 で同じくそこを見させて カンマが1個だから A5の下に1行挿入したうえで A5に7 A6に12 と転記 カンマは消す。 すると元々セルA3だった所は セルA7になっていて そこには20,14,28が入力されているはず ここも同じように処理し 下の列へ進めて行く。 カンマが無いセルは 行挿入せず この処理はしないで A列のデータが有る最終行まで 繰り返す。 と いうマクロを作成したいのですが どういう方法で行えばいいか うまく思いつきません。 配列は苦手でなのですが 配列を使わないと無理でしょうか? どうかよろしくお願いします。
- ベストアンサー
- Excel(エクセル)
お礼
なるほど~~ 早速トライしてみます。 ありがとうございました。