プロが教えるわが家の防犯対策術!

Excelのsheet1に

    A
1  場所:ABCビル
2  時間:13時
3  住所:東京都
4  お客様名:〇〇
5  持物:レジュメ、ノートPC

のように入力してあります。
A列だけに情報が入っています。
これをsheet2の
A1にABCビル
A2に13時
A3に東京都
A4にレジュメ、ノートPC

のように場所・時間・住所など項目別に返したいです。
このとき「場所:ABCビル」ではなく「ABCビル」と返したいです。

sheet1の場所とか時間の並び順は一定ではありません。
1行目から場所→時間→住所と例では書いてありますが、
場所→住所→時間の時もあります。

また、sheet1のA4にお客様名と書いてありますが、sheet2にはお客様名について返す必要がありません。こういった無視していい項目もでてきます。

どういった関数が考えられるか教えていただけないでしょうか。

A 回答 (7件)

こんにちは


昔からある方法
=RIGHT(Sheet1!A1,((LEN(Sheet1!A1))-FIND(":",Sheet1!A1)))
区切り文字は気を付けて
    • good
    • 0
この回答へのお礼

できました、ありがとうございます!

:が全角だったり半角だったりすることがあるのがわかりました(共有ファイルのため作成者によってまちまちなことがありました)。
全部置換して気をつけます!

お礼日時:2022/02/04 07:53

続[No.4お礼]へのコメント、


》 集合時間:8時(7時50分正門前)
「:」は全角文字、「(」は半角文字のように、全角/半角チャンポンは避けることをお奨めします。それを避けるのが困難なら、ASC関数を利用するのがお奨めです。しかしながら、…
式が長くなるのを嫌って、私の先の回答は、貴方のした通りに、「:」は全角文字、「(」は半角文字としています。
    • good
    • 0

[No.5]の修正


持物:レジュメ、ノートPC
のように長い文字列の場合もあるので、当該式中の「9」は元の「99」に戻してください。m(_._)m
    • good
    • 0

[No.4お礼]へのコメント、


Sheet2!A1: =IFERROR(IFERROR(IF(FIND("(",Sheet1!A1),MID(Sheet1!A1,FIND(":",Sheet1!A1)+1,FIND("(",Sheet1!A1)-FIND(":",Sheet1!A1)-1)),MID(Sheet1!A1,FIND(":",Sheet1!A1)+1,9)),"")
    • good
    • 0

Sheet2!A1: =MID(Sheet1!A1,FIND(":",Sheet1!A1)+1,99)

    • good
    • 1
この回答へのお礼

集合時間:8時(7時50分正門前)

のような記述もあり、このとき「8時」のみを返したい場合がでてきました。

ありがとうございます!

お礼日時:2022/02/04 07:51

データタブ→区切り位置で:より前と後に分ける。

(A列とB列に分かれる)
→A列でフィルタリングしてお客様名などのいらないデータを削除する
→そのデータのB列をsheet2のA列に貼りつける

ではダメでしょうか?
    • good
    • 0
この回答へのお礼

私は分かるのですが、もう1人同じデータを使う方がデータタブ使うことに引け目を感じてまして、、

できました!ありがとうございます!

お礼日時:2022/02/04 07:46

バージョンが書いていないので最新とみなしますが


=SUBSTITUTE(XLOOKUP("場所:*",A:A,A:A,"",2),"場所:","")
他も同様。
    • good
    • 0
この回答へのお礼

失礼しました、バージョンはMicrosoft365のExcelです。

XLOOKUP便利ですね!

お礼日時:2022/02/04 07:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!