セル内の特定の単語の後に数字を抽出する


0

私はXLSファイルを持っていて、それはすべて単一のセル内のすべて単一の文字列である何百ものさまざまな時間をすべて以下のフォーマットでリストしています:

Days: 103, Hrs: 12, Mins: 15
Days: 34, Hrs: 8, Mins: 27
Days: 10, Hrs: 16, Mins: 4

これらを高い順に並べ替えたいのですが、並べ替えると数百時間のレコードが表示されます。 十の値たとえば、上のリストから順に、次のように表示されます。

Days: 34, Hrs: 8, Mins: 27
Days: 103, Hrs: 12, Mins: 15
Days: 10, Hrs: 16, Mins: 4

試してみたいのは、各数値を抽出してそれぞれのセルに入れることです。したがって、並べ替えを簡単にするために、[日]、[時間]、および[分]列が別にあります。誰かが私を正しい方向に向けることができますか?


あなたは言っていますか Days: 34, Hrs: 8, Mins: 27 単一のセルに存在する?
Dave

はい、それは単一セル内の単一文字列です。 (それは外部の監視システムから抽出された値です)。
Rawns

私にとって、これはVBaのタスクです。プログラミングの経験があるので、必要なVBaスクリプトを書くことをお勧めします
Dave

回答:


2

文字列検索機能(MID、FIND、RIGHT)を組み合わせて、さまざまなコンポーネントをそれぞれ別のセルに抽出できます。

これが最終結果です。

enter image description here

2行目の数式は次のようになります(ドラッグして他の行を埋めます)。

日数 - セルB2:

=MID(A2, LEN("Days: "), FIND(", Hrs:",A2)-LEN("Days: "))

時間 - セルC2:

=MID(A2,FIND(", Hrs: ",A2)+LEN(", Hrs: "), FIND(", Mins: ",A2)-FIND(", Hrs: ",A2)-LEN(", Hrs: "))

議事録 - セルD2:

=RIGHT(A2, LEN(A2)-FIND(", Mins: ",A2)-LEN(", Mins: ")+1)


0

次の手順に従う必要があります。

  1. データを含む列を選択してください。

  2. 検索と置換を使用して、テキストを削除します。次に例を示します。

見つける: Days: 交換します。 ""

見つける: Hrs: 交換します。 ""

見つける: Mins: 交換します。 ""

これで、データは以下のようになりました。

    103, 12, 15
    34, 8, 27
    10, 16, 4
  1. 列を選択してください。

  2. データに移動 - > Columnsにテキストを入力すると、次のようなウィンドウが開きます。

enter image description here

  1. [区切り記号]を選択して次の手順に進みます。

enter image description here

[カンマ]を選択して手順に従います。

  1. これでデータは次のようになります。

    | 103| 12| 15 |
    | 34 | 8 | 27 |
    | 10 | 16| 4  |
    

各値はそれぞれの列にあります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.