サポートシェアリングソリューション
OKWAVE Plus
お知らせ
株式会社NTTぷららは、2022年7月1日(金)をもって株式会社NTTドコモと合併しました。
これに伴い、映像配信サービス「ひかりTV」およびインターネット接続サービス「ぷらら」のサービス提供事業者は、株式会社NTTドコモへと変更になります。
  • ひかりTVからのお知らせはこちら
  • ぷららからのお知らせこちら
  • 「OKWAVE Plus の利用」に関するアンケートご協力のお願い
    アンケートに答えると抽選で500名様にAmazonギフト券100円分をプレゼント!
    回答締切:2022年12月7日(水)18:00まで
    アンケートはこちら

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

    ベストアンサー
    すぐに回答を!

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

    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
    と入れておくかという単純な方法しか無い。

    お礼

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

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

    2015/06/07 12:45

    補足

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

    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以下に貼り付けて下さい。

     以上です。

    お礼

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

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

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

    2015/06/07 12:30

    関連するQ&A

    お礼をおくりました

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

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