本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルの【区切りの位置】の活用について)

エクセルの区切りの位置の活用について

2023/10/12 13:34

このQ&Aのポイント
  • エクセル2010を使用して、1セルにカンマで区切った文字列を列に配置する方法を教えてください。
  • 現在、行に配置されている文字列を列に変換するために、行をコピーして行と列を入れ替えていますが、より効率的な方法があれば教えてください。
  • エクセル2010の関数や操作で、1セルにカンマで区切ったデータを列に配置する方法を教えてください。
※ 以下は、質問の原文です

エクセルの【区切りの位置】の活用について

2015/06/07 09:29

【結論】列に配置したい。
エクセル 2010使用です。

1セルにカンマで区切った文字列があります。
(例)A1のセル内に【みかん,りんご,いちご,なし】

区切りの位置でカンマ.........で行うと
A1みかん B1りんご C1いちご D1なし になります。

行ではなく列にしたいです。
A1みかん
B1りんご
C1いちご
D1なし

いま私が行っているのは、行を一度コピーして
貼り付けのオプションで行と列を入れ替えてます。

最初から1セルに1文字列がよいのですが
他人が1セルにカンマで区切ったデータを編集します。

エクセル2010での関数や操作で実施したい。
ただしマクロや、外部からのソフトは使用しないで

よろしくお願いします。


※OKWaveより補足:「ひかりTVのサービスやISPぷらら」についての質問です。

質問者が選んだベストアンサー

ベストアンサー
2015/06/07 10:59
回答No.1

VBAを使わない範囲だと、いまされている方法がベストです。

もしくは、
A2に、=A1
A3に、=B1
A4に、=C1
A5に、=D1
と入れておくかという単純な方法しか無い。

お礼

2015/06/07 12:45

ありがとうございます。質問の間違いがありました。
正しい結果は
A1みかん
A2りんご
A3いちご
A4なし
です。
【notnot】さん。私の質問の誤りに気がついて、
回答頂きありがとうございます。

エクセルの区切りも横・縦の両方ができるといいですね。
データのとりこぼしのないようにドラックして
【コペー】【貼り付けで行列入れ替え】でデータベース作成します。

質問者

補足

2015/06/07 15:39

【シンプル イット ベスト】で頑張ります

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (3件中 1~3件目)

2015/06/07 12:30
回答No.3

区切り位置の操作でセルに分離した結果下記となったとする。操作説明は、わかっていると思うので省略します。
A1:C3 5行X3列
ミカン1 りんご1 なし1
ミカン2 りんご2 なし2
ミカン3 りんご3 なし3
ミカン4 りんご4 なし4
ミカン5 りんご5 なし5
D3:H3 D3セルから3行x5列を範囲指定し
D1セルに=TRANSPOSE(A1:C5)と入れて、SHIFT+CTRL+EMTER
(3つのキーを同時押しするということ)。配列数式です。
結果
D1:H3に
ミカン1 ミカン2 ミカン3 ミカン4 ミカン5
りんご1 りんご2 りんご3 りんご4 りんご5
なし1  なし2  なし3 なし4  なし5
ーー
元データと重複するセル範囲のA1:E3を範囲指定しても、できるか、やってみてください。
配列数式を使っているので、多数列(何千?)や多数行の場合に、何か不都合はないか、やってみてください。
いま時間がないのでとりあえず。

2015/06/07 11:44
回答No.2

>A1みかん B1りんご C1いちご D1なし になります。

>行ではなく列にしたいです。
>A1みかん
>B1りんご
>C1いちご
>D1なし


との事ですが、

>A1みかん B1りんご C1いちご D1なし



>A1みかん
>B1りんご
>C1いちご
>D1なし

はどちらも同じ横1行です。

>行ではなく列にしたいです。

という事は、

>A1みかん
>B1りんご
>C1いちご
>D1なし

ではなく、

>A1 みかん
>A2 りんご
>A3 いちご
>A4 なし

ではないでしょうか?


 それと確認したいのですが、値をセルに貼り付けますと、その貼り付けたセルに元々入力されていた関数は、上書きされて消えてしまいますので、貼り付け先のセルと、結果を表示させるセルは別のセルとしておかなければ関数を使った処理を行う事は出来ません。
 ですから、

>関数や

という事は、ある特定の1セルに

"みかん,りんご,いちご,なし"

という文字列を貼り付けると、その貼り付けたセルを含んでいないどこか別の所にある縦1列のセル範囲に、

>みかん
>りんご
>いちご
>なし

と表示させる様にするものだと考えて宜しいのですね?
 それで宜しければ以下の様な方法となります。
 今仮に、Sheet1のA1セルに

"みかん,りんご,いちご,なし"

等といった類の文字列を貼り付けると、Sheet2のB2以下に

>Sheet2!B2 みかん
>Sheet2!B3 りんご
>Sheet2!B4 いちご
>Sheet2!B5 なし

の様に表示される様にするものとします。

 まず、Sheet2のB2セルに次の関数を入力して下さい。

=IFERROR(REPLACE(LEFT(","&Sheet1!$A$1,FIND(CHAR(1),SUBSTITUTE(Sheet1!$A$1&",",",",CHAR(1),ROWS(B$2:B2)))),1,FIND(CHAR(1),SUBSTITUTE(","&Sheet1!$A$1,",",CHAR(1),ROWS(B$2:B2))),),"")

 そして、Sheet2のB2セルをコピーして、Sheet2のB3以下に貼り付けて下さい。

 以上です。

お礼

2015/06/07 12:30

ありがとうございます。ご指摘の通り質問に間違いがありました。

>A1 みかん
>A2 りんご
>A3 いちご
>A4 なし
が正しい質問でした。

早速実施しました。ありがとうございました。

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。