アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルの文章の途中の日付 ○/○ だけを抽出したいです。
左でも右でもなく文章の途中です。

お分かりの方いらっしゃいますか??

質問者からの補足コメント

  • =MID(C2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2&1234567890)),LEN(C2)*10-SUM(LEN(SUBSTITUTE(C2,{0,1,2,3,4,5,6,7,8,9},))))
    で試してみましたが例えば8/13なのに 8/ まではでたり 8/1 までしかでません。

      補足日時:2018/12/06 16:48

A 回答 (3件)

こんばんは。



=MID(C2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},C2&1234567890)),LEN(C2)*10+1-SUM(LEN(SUBSTITUTE(C2,{0,1,2,3,4,5,6,7,8,9},))))

このように、LEN(C2)*10+1 ←と1を足せば、8/31 の場合、8/3 しか出ないのは直るのですが、

8/ までしか出ない場合は、特例で、空白が紛れ込んでいるので、例えば、原文をマウス選択して、「検索/置換」で、検索値に、半角スペースを置き、置換側は何もいれないようにして、実行すれば、半角のスペースを取り去れば、8/ までしか出ない場合も、出るようになります。
    • good
    • 3
この回答へのお礼

試してみました、バッチリできました!
ありがとうございました。

お礼日時:2018/12/07 10:40

こんにちは



ごく簡単なチェックしかしていないので、「20/35」みたいなのも混じりますが…

ユーザ定義関数で
 =pickDate(対象文字)
のような使い方です。(「対象文字」はもちろんセル参照でも可)

以下の、関数定義を標準モジュールへコピペしておきます。
Function pickDate(s As String) As String
 Dim Reg, rMatch
 pickDate = "NoDate"
 Set Reg = CreateObject("VBScript.RegExp")
 Reg.Pattern = "[0-9][012]?/[1-3]?[0-9]"
 Set rMatch = Reg.Execute(s)
 If rMatch.Count > 0 Then pickDate = rMatch(0).Value
End Function
    • good
    • 1
この回答へのお礼

VBAはまだ勉強不足ですが試してみます!
貴重なお時間割いて頂きありがとうございました!!

お礼日時:2018/12/07 10:42

そんな機能はありません。

    • good
    • 0

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