1

テキストに貼り付けて下部、UPPER、および適切なテキストを出力するシートを作成しました。前置詞と冠詞の名前付き範囲があります。

SUBSTITUTE 式を使用して、前置詞リストに表示されるすべての出現箇所または単語を置き換えようとしています

だから代わりに

Our Breakfast Is Consistent

我々が得る

 Our Breakfast is Consistent

これまでのところ、この式がありますが、機能しません

=SUBSTITUTE(D6, TRIM(prepositions), TRIM(LOWER(prepositions))

誰でも助けることができます。非常に高く評価されます

ありがとう

そして私

4

3 に答える 3

0

ユーザー定義関数を作成します

   Function prep_lower(the_text)

    Dim prep_list(10, 10)

    prep_list(1, 1) = "As"
    prep_list(1, 2) = "as"

    prep_list(2, 1) = "Or"
    prep_list(2, 2) = "or"

    prep_list(3, 1) = "Is"
    prep_list(3, 2) = "is"
    'more items......


    For n = 1 To UBound(prep_list, 1)
    the_text = Application.WorksheetFunction.Substitute(the_text, Chr(32) & prep_list(n, 1) & Chr(32), Chr(32) & prep_list(n, 2) & Chr(32))
    Next 'For n = 0 To...

    prep_lower = the_text



    End Function

次に、セル a1 にテキストを入力し、=prep_lower(A1)b1 に数式を入力します。

于 2013-05-09T20:55:39.813 に答える
0

Excel よりも PHP でこれを行う方が簡単だと考えました。オプションを含むフォームを設定し、正規表現を使用して必要な種類のテキストを出力します。

HTML と PHP を作成したら、ここに例を投稿します。オプションとして、CSV をアップロードし、そこから読み取って、表示されるように出力することもできます。修正を加えて CSV にエクスポートします。

これは、同じ問題に直面している人にとって役立つかもしれません。

私が抱えていたこの問題の解決策を投稿してくれた親切なユーザーに感謝します.

ありがとう

そして私

于 2013-05-14T05:55:53.220 に答える
0

SUBSTITUTEを使用して 1 回のヒットでリストを置換することはできません。一度にSUBSTITUTE1 つの項目を置換する必要があるため、たとえば F2:F5 に前置詞がある場合は、次のような式を使用できます。

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(D6,F2,LOWER(F2)),F3,LOWER(F3)),F4,LOWER(F4)),F5,LOWER(F5))

もちろん、あまり実用的ではない長いリストがある場合は、一度に 1 つの値を置き換える可能性のある式を下に (または横に) コピーすることができます。たとえば、上記の例では、D7 でこの式を使用して、 D10

=SUBSTITUTE(D6,F2,LOWER(F2))

D10 はすべての置換の最終値になります

于 2013-05-09T13:46:45.737 に答える