0

私は基本的に、セルの値を調べて;#のすべてのインスタンスをスペースまたは「;」に置き換えることができるExcelベースの数式を探しています。まず、検索置換機能を知っています。マクロでそれができることも知っています。課題は、2 つの方法のどちらも使用できないことです。

データは次の形式で表示されます。

;#Business Mix;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Risk Selection;#Business Mix;#Improve Productivity;#
;#Risk Selection;#Business Mix;#Improve Productivity;#
;#Risk Selection;#Business Mix;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#
;#Distribution;#Improve Productivity;#

現在、次の式を使用してソリューションに到達していますが、完全には機能しません。

=REPLACE(REPLACE(LEFT(REPLACE(VLOOKUP($D$2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),FIND(";#",LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),1),2,"; "),FIND(";#",REPLACE(LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),FIND(";#",LEFT(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""),LEN(REPLACE(VLOOKUP(D2,all,3,FALSE),3,2,""))-2),1),2,"; "),1),2,"; ")

all = 名前付き範囲

つまり、1 つのアイテムを持つことができます。

;#Business Mix;#

また

;#Business Mix;#Improve Productivity;#

または2つまたは3つまたは4つ以上。

最終結果には、; で区切られたテキストのみが含まれます。ビジネス ミックスなど、選択肢が 1 つしかない場合は、; を指定しないでください。

どんな助けでも大歓迎です。

ありがとう

4

1 に答える 1

0

区切り文字としてText to Columnsを使用します。#=CONCATENATE (=E1&F1&G1 など) を使用して D1 などで列をつなぎ合わせ、結果をコピーして上に特殊な値を貼り付け、追加します。

=IF(RIGHT(D1,1)=";",LEFT(D1,LEN(D1)-1),D1)

スペア列の Row1 にコピーし、それに合わせて下にコピーします。すべてをコピーし、特別な値をもう一度上に貼り付けます。余分なものを削除します。

于 2013-08-21T00:52:22.863 に答える