![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
質問内容:ある文字から改行まで抽出したい、と下方向にオートフィルをする際、参照セルは横方向に伸びている場合のやり方を知りたいです。
Sheet1!A1に、
●国=アメリカ
●都市=ニューヨーク
●収容=2000人
と入力されてます。B1には国が「日本」、C1には「カナダ」等々、同様な内容のセルが並んでいます。
Sheet2!に以下のように抽出したいと思います。
A B C
1 アメリカ ニューヨーク 2000人
2 日本 東京 10000人
3 カナダ バンクーバー 1500人
が、うまくできません。
まずつまづいたのが、
=MID(Sheet1!A1,SEARCH("●国=",Sheet1!A1)+3,4)
でA1には「アメリカ」と表示されますが他のセルの場合、日本だと2文字、カナダだと3文字と、文字数が一定ではないので改行コードまで抽出すればいいのかな?と思ったのですが、参考になるものが見つかりませんでした。
あともう一点、上記問題解決後、A1からC1まで選択してオートフィルで下方向にドラッグして日本、カナダの行も埋まるようにするしたいのですが可能でしょうか(Sheet1の対象セルがA1、B1…と横方向に伸びていくので。。。)
希望としてはテキストの整形作業や、VBA?を介さずに関数のみで解決したいです。
皆様のアドバイスお待ちしております。
よろしくお願いいたいます。
![「ある文字から改行まで抽出+横方向セル参照」の質問画像](http://oshiete.xgoo.jp/_/bucket/oshietegoo/images/media/f/192464_5497dd8b24053/M.jpg)
No.6ベストアンサー
- 回答日時:
◆一つのセルに、国・都市・収容のデータが入力されているのですね
◆Sheet2のA1
A1=TRIM(MID(SUBSTITUTE(SUBSTITUTE(INDEX(Sheet1!$A$1:$C$1,ROW(A1)),CHAR(10),"="),"=",REPT(" ",100)),COLUMN(A1)*200-100,100))
★右と下にコピー
ありがとうございます!
希望とおりのことができました。
こんなにも早く解決できるとは。。。すごいです。
本当に感謝です!m__m
No.5
- 回答日時:
◆MID、SEARCH関数にこだわらなければ、
◆Sheet2の式
A1=SUBSTITUTE(INDEX(Sheet1!$A$1:$C$3,COLUMN(A1),ROW(A1)),CHOOSE(COLUMN(A1),"●国=","●都市=","●収容="),)
★A1の式を右と下にコピー
ご回答ありがとうございます。
特定の関数には全くこだわりはありません。
お答えいただいた式で試したのですが
A1=
アメリカ
●都市=ニューヨーク
●収容=2000人
となり、右と下方向にコピーしても同様な内容となりうまくいきませんでした。
解決してしまったのですが引き続き検証してみます!
No.4
- 回答日時:
Sheet1の1行目:A1から横にスキャン(MAX255個?)し、
Sheet2のA列に、
「ctrl+Enter」(これがCHAR(10)らしい)を「,」に置換した文字列を並べ、後で「,」でセルに分割する。
A1に、
=SUBSTITUTE(OFFSET(Sheet1!$A$1,0,ROW()-1),CHAR(10),",")
以下、コピー
ご回答ありがとうございます!
試したところ
A1、A2、A3セルそれぞれ、
●国=アメリカ,●都市=ニューヨーク,●収容=2000人
と同じ内容となりました。
解決してしまったので問題点がわかりませんが、
お答えいただき大変ありがとうございました。
No.3
- 回答日時:
こんにちは。
関数で処理するとかなりややこしいです。
(A1の式)=MID(Sheet1!A1,SEARCH("●国=",Sheet1!A1)+3,SEARCH(CHAR(10),Sheet1!A1)-4)
(A2の式)=MID(Sheet1!A1,SEARCH("都市=",Sheet1!A1)+3,SEARCH(CHAR(10),Sheet1!A1,SEARCH(CHAR(10),Sheet1!A1)+1)-4-LEN(A$2)-5)
(A3の式)=MID(Sheet1!A1,SEARCH("収容=",Sheet1!A1)+3,99)
行と列の入れ替えは表をコピーして「形式を選択して貼り付け」の「行と列を入れ替える」で行ってください。
では。
ご回答ありがとうございます!
試したところ都市にあたる結果セルが「ニューヨーク●」となったり「東京●」となってしまいます。
それ以外の部分は大丈夫でした。
解決してしまったので問題点がわかりませんが、お教えいただいた関数を引き続き検証してみます!
No.2
- 回答日時:
>=MID(Sheet1!A1,SEARCH("●国=",Sheet1!A1)+3,4)
関数で処理する場合は、
midで切り出す時の文字数を、findで国名以降の●を見つけた位置基準で決めれば済むと思いますが
find("●",sheet1!a1,2)-3かな、-3は怪しいですが
如何?
>あともう一点、上記問題解決後、A1からC1まで選択してオートフィルで下方向にドラッグして日本、カナダの行も埋まるようにするしたいのですが可能でしょうか(Sheet1の対象セルがA1、B1…と横方向に伸びていくので。。。)
下方にドラッグしたら、A1がA2,3,4,5となっていくのだ駄目です。
sheet1のデータを、行列入れ替えでコピーするか、sheet2で列方向に一旦データを作成した後、行列入れ替えしてください。
ご回答ありがとうございます
-3の部分は抽出文字数によっては-4にしたりと調整が必要でした。
FINDの使い方、勉強になりました。
ありがとうございました!
No.1
- 回答日時:
まず文字数は、きっちり数える必要は全くありません。
=MID(Sheet1!A1,3,99)
縦と横を入れ替えるには、INDEX関数とかOFFSET関数とかを使います。
シート2のA1に
=MID(INDEX(Sheet1!$A$1:$C$3,COLUMN(A1),ROW(A1)),SEARCH("=",INDEX(Sheet1!$A$1:$C$3,COLUMN(A1),ROW(A1)))+1,99)
#参考
A列の式は3文字目から
B列の式は4文字目から
それぞれ取り出せばよいと判っているのですから、わざわざSEARCH関数など組み込んで無駄に数式を伸ばす必要は全くありません。
早速のご回答ありがとうございます。
>まず文字数は、きっちり数える必要は全くありません。
実はこの項目の文字数も一定ではなく「●国=」だったり「●国名=」となってたりでばらばらなんです。
なのでお教えいただいた関数もやはり自分の思っていたとおりにはなりませんでした。
貴重なお時間をさいてお答えいただいたのに説明不足で申し訳ありません。
お手数をおかけしましたm__m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excelの空文字判定について 7 2023/01/06 13:25
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) エクセルVBAでセルに表示されているとおりの数値を取得したい(時間の計算結果) 1 2022/03/30 17:52
- Excel(エクセル) Excel 関数 数式 について 2 2022/09/02 21:45
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) エクセルで教えて下さい。 2 2022/05/18 13:00
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- Excel(エクセル) エクセルで月末、月初の判定をしたい。 4 2022/05/18 23:22
- Excel(エクセル) Excelで数式をそのままコピーしたい どうすればいいですか? 4 2022/09/16 02:16
- Excel(エクセル) Excel表示形式 2 2022/09/09 09:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel分数の表示について
-
Excelについての質問です。 B2...
-
EXCELの散布図で日付が1900年に...
-
文字2桁、3桁交じりの文字列...
-
【EXCEL】画像の黄色部分の抽出...
-
マクロエクセルのブロック解除
-
絶対参照
-
Excelで表を作ったところに文字...
-
Excelピボットテーブルの1行目
-
エクセルのクイックアクセスツ...
-
DATE関数で現在の年齢を出した...
-
(マクロ)vlookupの元データを同...
-
PDFの請求明細をエクセルにしたい
-
エクセルのクイックアクセスツ...
-
REGEXREPLACE関数について、
-
職場の人から聞かれており、こ...
-
エクセルの空欄をつめて、次の...
-
ユーザー定義関数をアドイン登...
-
EXCELの質問です 119から足した...
-
エクセルの問題です。絶対値の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報