- ベストアンサー
セル内の文字をスペースによって分割するには?
教えてください。 a1 に DX-09 1 SD-4 2 HPE-25 3 と、全角半角入り混じってスペースで区切られた文字が入っています。 これを、B1,C1,D1,E1,F1,G1にそれぞれDX-09,1,SD-4,2,HPE-25,3 と分割させたいです。 必ず半角スペースで区切られていますが、それぞれの文字の長さはマチマチです。 また、全角数字のも文字の長さは不定形です。 excel2010を使用しています。 お知恵を貸してください。
- m_yas_mail
- お礼率83% (15/18)
- オフィス系ソフト
- 回答数3
- ありがとう数3
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
A1セルを選択して、データ区切り位置以下の操作を知れば。そのものズバリの機能がエクセルにはあるよ。 A1だけでなく、同列複数セル範囲を指定して出来ます。 エクセル2007以後は http://www.relief.jp/itnote/archives/003560.php の操作のようです。
その他の回答 (2)
- tom04
- ベストアンサー率49% (2537/5117)
こんばんは! 一番簡単なのは「区切り位置」を使用する方法だと思います。 データはA列・A1セルから下にあるとします。 列番号の「A」の部分で右クリック → コピー → B1セル上で右クリック → 貼り付け メニュー → データ → 区切り位置 → 「次へ」 → 「スペース」にチェックを入れ「完了」 VBAでも可能です 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub test() 'この行から Dim i, j As Long Dim myArray As Variant For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row myArray = Split(Cells(i, 1), " ") For j = 0 To UBound(myArray) Cells(i, j + 2) = myArray(j) Next j Next i End Sub 'この行まで 参考になれば良いのですが・・・m(_ _)m
お礼
vba参考になりました。 ちょこっといじって使ってみます。 ありがとうございます。
- matyu1003
- ベストアンサー率42% (257/598)
Excel2010なら、データタブに「区切り位置」というボタンがあります。 これをクリックすると、「区切り位置指定ウィザード」が起動しますので、 「カンマやタブなどの区切り記号(以下略)」を選択し、次へ。 「区切り文字」としてスペースのみを選択して、次へ。 必要ならば、列のデータ形式を設定して完了でいけると思います。
お礼
ありがとうございます。 関数にこだわってました… ありがとうございました。
関連するQ&A
- Excelでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにするには?
エクセルでセルに入っている数字又は文字のうしろに決められた数のスペースを入れるようにすることって出来ますか? 例えば、 A1セルに 123456 という数字が入っていた場合 123456 の後ろに半角スペースを6コつけて 「123456_ _ _ _ _ _ 」 いう風に。 B1セルに 山田太郎 という文字が入っていた場合 山田太郎のあとに全角スペースを5コ入れて 「山田太郎_ _ _ _ _ 」 セルの数字を入力すると半角又は全角スペースを決められている数だけ自動で入力されるようにしたいのですが 何かいい方法はないでしょうか? accessでマクロ使ったほうが簡単かもしれないんですが、accessあまり分からないので・・。 説明がわかりにくくて申し訳ないんですがよろしくお願いします!!
- ベストアンサー
- オフィス系ソフト
- Excelで文字を揃えるには
Excelで、何行かの表に、アルファベットは大文字で Z-9.10 R-6. 9 E-4.19 U-6.37 F-7. 3 W-5. 2 W-9.13 などと入力します。ぴしっと揃えたいのですが、 どうしたら揃えられるのでしょうか? アルファベットは全角大文字でその他数字は半角で、 最後の所の数字は一桁の場合は二桁の所と合わせて スペースを1つ入れます。 等幅フォントのMSゴシックを使うと、アルファベットが 半角みたいになるのでなんとか全角大文字にするには どうしたらいいでしょうか? 宜しくお願いいたします。
- 締切済み
- オフィス系ソフト
- セルの文字数を合わせること出来ますか?
違うソフトにエクセルのデータを移すためにセルの文字数を合わせないといけないのです。 例えば、全角で15文字半角で30文字になるようにしなければいけないので8桁の数字コードを打ったあと22回スペースを入れてます。とても効率悪く困ってるのですが何かいい方法はありますか?勝手にスペースが入るようにならないでしょうか??よろしくお願いします m(_._)m
- ベストアンサー
- Windows XP
- スペースを特定の文字に置き換える
$space=~s///g; などの置き換え処理で全角スペースと半角スペースを特定の文字に置き換えたいのですが、どうすればいいのでしょうか。 よろしくお願いします。
- ベストアンサー
- Perl
- スペースを含む文字を分解するには
エクセル VBAにて 一つのセルに”ああ いいい う f ・・・”のように、スペースを含む文字があり、その文字の長さやスペースの数が不定の場合において、 別のセルの一つ一つに、”ああ”と”いいい”と”う”・・・を分けて入れたいのですがどうすればいいのでしょうか?
- ベストアンサー
- Visual Basic
- エクセルシートを半角・スペースなしに
エクセルのシートに文字列・数字が入力されています。しかし文字や数字の間に空白があったり、全角・半角がバラバラに入力さています。 これを全て、半角でスペースをなくすにはVBAにどのように書けばよいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- セル中の文字列を分割する方法
解決方法をご教授ください。 例として任意のセルに 「ビニールパイプ下地OP塗面φ100」 とあり、前半を全角換算にして10文字、後半を全角換算にして12文字として 分割する方法はあるのでしょうか。 「ビニールパイプ下地OP塗面」と「 φ100~200」 にしたいのに 「ビニールパイプ」と「下地OP塗面φ100」 になってしまいます。 最初、=LEFTと=MIDを利用して分割を試みましたが全角に換算した文字で 分割をしたいのに半角全角合わせての設定しか出来ませんでした。 用途としてエクセルで貰ったデータをCSVに変換して専用ソフトに取り込む 際に取込める文字の制限があるので困っています。 ぜひ、助けてください。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- 全角半角を意識した文字分割
A列 B列 C列 D列 E列 あいうえおかきくけこ あ いう えお か アイウエオカキクケコ アイウ エオ カキ ク あイウえオかきくけこ あ イウえ オか き 先ほど同じような質問を一度しているのですが、 A列に全角半角混在のテキスト項目があります。 B列、C列、D列、E列に以下のルールで分割したいのですが、 Excel関数で 実現可能でしょうか? 可能な場合は式をご教授して頂けますでしょうか。宜しくお願い致します。 ※全角をバイト数指定で分割して文字化けしないように全角半角を考慮して分割した いと考えております。 B列(半角3文字) A列3桁目が半角の場合は半角3文字 A列3桁目全角の場合は半角2文字(全角1文字) C列 (半角4文字) A列4桁目が半角の場合は、左端4桁目~半4文字分 A列4桁目が全角の場合は、左端3桁目~半角4文字 D列(半角4文字) A列7桁目が半角の場合は、左端7桁目~半4文字分 A列7桁目が全角の場合は、左端6桁目~半角4文字 E列(半角2文字) A列11桁目が半角の場合は、左端11桁目~半2文字分 A列11桁目が全角の場合は、左端10桁目~半角2文字
- ベストアンサー
- オフィス系ソフト
- エクセルで、【スペース除き】【半角⇒全角へ】
タイトルの件、質問します。 A1セルに、下記のように、全角と半角の文字数字及び、スペースが入っています。 これを ・全角のみ ・半角文字、半角スペース 削除 を出来ないでしょうか? あいうえお12345 アイウエオ 12345
- ベストアンサー
- オフィス系ソフト
- Excelで各セルの先頭からスペースを含めた10文字を消去する方法
OSは XP SP2 Office2007を使用しています。Excelも2007です。 1000行あるデータの中から、ある列においてのみ、先頭から半角26文字(スペースを含む)だけを消去したいのですが、簡単に消去できる方法はないでしょうか? 26文字の構成は、年月日 時刻 1桁数字 1桁数字で、「2010/01/10 12:30:30 0 3」となっております。スペース部分はスペースが半角2つ並んでいます。 わかる方、ぜひ教えてください。
- ベストアンサー
- その他(業務ソフトウェア)
お礼
あ。目からうろこです。 関数にこだわってました… ありがとうございます。