質問内容:ある文字から改行まで抽出したい、と下方向にオートフィルをする際、参照セルは横方向に伸びている場合のやり方を知りたいです。
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?を介さずに関数のみで解決したいです。
皆様のアドバイスお待ちしております。
よろしくお願いいたいます。
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のpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報