データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
横合いから失礼いたします。
関数を使用する方法であれば、Hebikuzureさんが示されています様に、以下の サポート記事の 3番目の方法 にある様な MID 関数、SEARCH 関数または FIND 関数などを駆使する事で実現は可能と思います。
・関数を使用してテキストを複数の列に分割する(日本語版)
ただ、日本語版は機械翻訳で関数式も変に変換されているので、関数式は英語版で読むのが良いです。
・Split text into different columns with functions(英語版)
ただ、挑戦しました所、入れ子になりすぎて訳が分からなくなってきましたので、ユーザー定義関数を組んでみました。
関数名:Keisoku
・Jouken:"自己の業務内容や課題が変わり、活用機会がなくなった。" または "-" のセル
・strBuf :"5.計測・試験・評価・検査, 7.不具合・クレームの未然防止・対策, 11.営業・サービス・メンテナンス" のセル
(例)
・式:=keisoku(J22,K22)
・結果:5&7&11
Function Keisoku(Jouken As String, strBuf As String)
Dim iCnt As Variant
Dim strSplit
Dim strWk As String
Dim StrAll As String
strSplit = Split(strBuf, ",")
For iCnt = LBound(strSplit) To UBound(strSplit)
strWk = Trim(Left(strSplit(iCnt), InStr(strSplit(iCnt), ".") - 1))
If iCnt = 0 Then
StrAll = strWk
End If
If iCnt > 0 And Trim(strSplit(iCnt)) <> "" Then
StrAll = StrAll & "&" & strWk
End If
Next iCnt
If Jouken = "自己の業務内容や課題が変わり、活用機会がなくなった。" Then
Keisoku = "-"
Else
Keisoku = StrAll
End If
End Function
<参考>
【Excel VBA入門】ユーザー定義関数の作り方。Functionプロシージャを理解する
ただ、通常の関数で出来た方がベストですよね(^^;
こちらには頻繁にはお見掛けしませんが、VBA 、関数式に精通されている方もいらっしゃいます。回答が付く事を期待してお待ちしましょう。
こちらはユーザー同士の相互互助で成り立っているコミュニティとなっており、必ず回答を必ず得られる場所ではありません。申し訳ございませんが、ご理解いただけますと幸いです。
※一連のやり取りを拝見して思いましたのは、初めにご提示いただいた関数式を 作成される優れた力量の持ち主でいらっしゃる事から、ヒントから時間を掛けて調べて挑戦すれば必ず出来る、という「獅子の子落とし」的なコメントと受け取って、是非成功していただきたいと思います。