- ベストアンサー
関数でセル内の文字を抜き出す方法
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
添付図参照 1.Sheet2 のセル B1 に式 =FIND(CHAR(10),Sheet1!$A1,A1+1) を入力して、此れを右方にズズーッとドラッグ&ペースト なお、A列は空白のままにしておく 2.Sheet2 の1行目を下方にズズーッとドラッグ&ペースト 3.Sheet1 のセル B1 に次の[条件付き書式]を設定 数式が =ISERROR(B1) フォント色 白 4.Sheet1 のセル B1 に次式を入力して、此れを右方にズズーッとドラッグ&ペースト =MID($A1,Sheet2!A1+1,IF(ISERROR(Sheet2!B1-Sheet2!A1-1),99,Sheet2!B1-Sheet2!A1-1)) 5.Sheet1 の1行目を必要なだけ下方にドラッグ&ペースト
その他の回答 (5)
- maron--5
- ベストアンサー率36% (321/877)
◆こんな方法はいかがでしょう ◆B1に1行目、C1に2行目、・・・・と表示させます B1=TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",100)),COLUMN(A1)*100-99,100)) ★右にコピー ◆2行目は =TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",100)),2*100-99,100)) ◆3行目は =TRIM(MID(SUBSTITUTE($A1,CHAR(10),REPT(" ",100)),3*100-99,100)) ◆最終行は =TRIM(RIGHT(SUBSTITUTE($A1,CHAR(10),REPT(" ",100)),100))
- mu2011
- ベストアンサー率38% (1910/4994)
1行目はともかく2行目以降が不可能と言いませんがかなり厳しい数式になります。 1行目はデータ+CHAR(10)だからMID関数で開始位置は1、文字数はCHAR(10)をFIND関数の結果から-1で抽出、 2行目以降は、開始位置、文字数の両者が可変になるので、一案ですがSUBSTITUTE関数でCHAR(10)の2番目と3番目を別文字に変更して抽出しては如何でしょうか。 マクロならば、ユーザ関数定義(=mjGET(セル,順位))すれば、=mjGET(A1,2)で2行目抽出 Function mjGET(rng As Range, num As String) wk = Split(rng, Chr(10)) mjGET = wk(num - 1) End Function
- mikarin2004jp
- ベストアンサー率36% (9/25)
■A1 あいうえお かきくけこ さしすせそ という文字列の場合 ■B1 =SEARCH(CHAR(10),A1,1) で、最初の改行の位置がわかります。 CHAR(10)というのが改行です。 //6 ■C1 =MID(A1,1,B1) //あいうえお ■D1 =MID(A1,B1+1,100) //かきくけこさしすせそ ■E1 =SEARCH(CHAR(10),D1,1) //6 ■F1 =MID(D1,E1+1,100) //さしすせそ ■G1 =MID(A1,B1+1,E1) //かきくけこ あとはコピペで行くと思います。
該当列を選択し、 データ→区切り位置→次へ→「その他」をチェックし横のボックスに 「Ctrl+j」(Ctlrを押しながらj)→次へ→完了、で横に抜き出せます。
- chonami
- ベストアンサー率43% (448/1036)
>Ctrl+Enter 多分Alt+Enterの事だと思うんですが・・・ 改行ごとにセルを分けたいのでしたら、データ→区切り位置→次へ→その他へチェック、横のボックスに「Ctrl+J(Ctrlを押しながらJ)」→次へ→完了 で改行ごとにセルが分かれると思います。 任意の行を抜き出したいのであれば、任意改行はCHAR(10)で表せますので、FIND使ってみるとかSUBSTITUTEでいらない部分を置換するとかですかね。
関連するQ&A
- Excelのセルへの文字入力について
Excelの1個のセルの中へ全角文字の入力をしたいのですが あああああああ いいいいい ううううううううう えええええ おおお 以上のように複数の行を1つのセルに入力、表示したいのですか どのように設定をすればいいのでしょうか 教えてください 今は折り返して全体を表示の設定をして適当にスペースを入れて行間を適当に広げて表示しています。 Enterキーで改行をして行間が自動的に広くなるようにはできないのでしょうか Excelは2007です
- 締切済み
- その他MS Office製品
- EXCELの表でセルの中の文字の改行について
EXCELでよく表を作っていますが、表のセルの中に文章あるいは長い文字のられつを入れたときの質問です。セルの書式設定で、「折り返して全文を表示する」にチェックを入れることが多いのですが、折り返されたとき、それ以降の文字は2行目の先頭にいきますよね。そうでなく、1行目の途中で改行して、それ以降の文字を2行目に動かしたいと思うのですが、エンターを押して改行を実行しようとしても、あるいは、スペースで空白を挿入する形でやっても、途中で改行できませんよね。これらの手法はワードではよく使いますが、EXCELでは無理なのでしょうか。
- ベストアンサー
- オフィス系ソフト
- エクセルのセル内で改行した場合の行数および行ごとの文字数?
エクセル2000です。 セルをいくつか結合させ、その中にAlt+Enterで改行した文字列があります。 全部で何行あり、各行は何文字かを調べる関数またはVBAはありますか?
- ベストアンサー
- オフィス系ソフト
- Excelでセル内改行
お世話になります。 早速ですがExcelで複数のセルに文字列が入力されている時、それらの文字を結合する場合はCONCATENATE関数を使いますよね? で、この応用(なのか判りませんが)で例えばセルA1に"改"の文字が、セルB1には"行"の文字が入っているとき、セルC1に 改 行 と改行させて2行で表示したいのですが、セルC1に"=CONCATENATE(A1,CHAR(13),B1)"とやってもうまくいきませんでした。 Alt+Enterで手入力する以外に関数、マクロ等で何かいい方法がありますか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセルのセルの書式設定で
エクセルのセルの書式設定で折り返して全体を配置するにチェックをいれてなくても セルの中に書き込み、Alt+Enter でセルの中で改行して何かを入力すると 自動的に2行分にセルが広がったりします。 これは止められないのでしょうか? やりたい事は セルの中での書き込みは何行にも改行して記載しておきたいのですが、 表示自体は1行で収まって欲しいのです。 その文章自体は隣のセルに消されて見えませんが それで構わないのです。 そのように設定する方法ってありますか? ご存知の方、ご教授願います。
- ベストアンサー
- その他MS Office製品
- エクセルでの文字入力について
エクセルでの文字入力でこまっています。 例えば、A1のセルの中に2行、3行と改行 しながら入力したいのですが、 普通に入力すると1行のまま隣のセルにいってしまい Enterキーを押すと下のセルに下りてしまいます。一つのセルのまま何行も入力するには、 どのようにすればよいでしょうか? よろしく御願い致します。
- ベストアンサー
- その他(ソフトウェア)
- エクセル セル 文字数設定
エクセル2007を使用しています。1セルの中に設定した1行分の文字数を越えると自動的にAlt enter キーを押して改行することは可能でしょうか。1行20文字に設定していて,それをこしたら自動的に改行されるようにしたいのです。教えてください。
- ベストアンサー
- オフィス系ソフト
- セル内での2行目(1文字目)空白の入れ方
初歩的な質問なのですが、エクセルで一つのセル内で改行(Alt+Enter)し、2行目の1文字目を空白にしたいのですがどうすればいいのでしょうか? こういう風に打ちたいのですが… ↓ ああああああ あああああ ああああああ 使用しているのはエクセル2002で単にスペースを押しても空白が入りません。。
- ベストアンサー
- オフィス系ソフト
- EXCEL:セル内の文字列での最下段を表示する方法
EXCELで1つのセルに改行(Alt+Enter)で文字を記入していったとき、狭いセル高さのままで最後の行を常に表示させたいんです。 例えば、セル内に10行で書いてセル高さを3行くらいのままで10行目を常にセルの一番下に表示させたいのです。 セルの書式設定で配置-縦位置を下詰めにすると充分広いセル高さでは当然最下行が、セルの一番下に来るんですが、セルの高さを狭くすると一番上から表示されてしまいます。 いい方法は無いでしょうか?
- 締切済み
- オフィス系ソフト
- Excelで1つのセルに入れた複数行の長い文字列をセルの高さを変えずに表示したい
こんにちは。 Excelについての質問です。 お分かりになる方がらっしゃいましたら教えていただけると幸いです。 Excelのシートに、何行かにわたる長い文字列をコピーしたものを 1つのセルに貼り付けて、全て表示させたいのです。 その時、シートの幅や高さは変えずに、 セル内で「Alt+Enter」で改行されてその高さに収まらない文字列は、 そのまま直下の空いているセルに表示させたいのですが、これは可能でしょうか。 「折り返して全体を表示する」はオフの状態です。 この設定で1行だけの文字列だと幅以上の文字列は自然に横の空白のセルに流れてくれますよね? これを、「Alt+Enter」の複数行ver.でやりたいのですが、 このようなことは可能なのでしょうか。 質問が分かりにくくて申し訳ありません。 他にも、いい方法をご存知でしたらアドバイスをお願いいたします。
- ベストアンサー
- オフィス系ソフト