Excelで例外を除いてテキスト文字列を適切な大文字と小文字に変換する方法は?
Excelでは、適切な関数を適用してテキスト文字列を適切な大文字と小文字に簡単に変換できますが、次のスクリーンショットに示すように、テキスト文字列を適切な大文字と小文字に変換するときに特定の単語を除外する必要がある場合があります。 この記事では、Excelでこのジョブを解決するための簡単なコツについて説明します。
数式を使用して、例外を除いてテキスト文字列を適切な大文字と小文字に変換します
VBAコードを使用して、例外を除いてテキスト文字列を適切な大文字と小文字に変換します
数式を使用して、例外を除いてテキスト文字列を適切な大文字と小文字に変換します
次の式は、このタスクをすばやく処理するのに役立つ可能性があります。次のようにしてください。
次の式を入力します。
= UPPER(LEFT(A2))&MID(TRIM(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE( ""&PROPER(A2)& ""、 "Of"、 "of")、 "A"、 "a")、 "Is "、" is ")、" Usa "、" USA "))、2、LEN(A2)) 結果を取得するセルに入力し、塗りつぶしハンドルをドラッグしてこの数式を入力すると、テキスト文字列は適切な場合に変換されますが、特定の例外があります。スクリーンショットを参照してください。
Note:上記の式では、 A2 変換したいセルです、 「of」、「A」、「Is」、「Usa」 変換後の通常の固有名詞です、 「of」、「a」、「is」、「USA」 適切なケースから除外したい単語です。 必要に応じて変更したり、SUBSTITUTE機能で他の単語を追加したりできます。
VBAコードを使用して、例外を除いてテキスト文字列を適切な大文字と小文字に変換します
上記の式を理解して必要に応じて変更するのがやや難しい場合は、ここでVBAコードを適用してこのタスクを完了することもできます。 以下の手順をXNUMXつずつ行ってください。
1。 を押し続けます Alt + F11 キーを押して アプリケーション向け Microsoft Visual Basic 窓。
2に設定します。 OK をクリックします。 インセット > モジュール、次のコードをに貼り付けます モジュールウィンドウ.
VBAコード:例外を除いて、テキスト文字列を適切な大文字と小文字に変換します。
Sub CellsValueChange()
'Updateby Extendoffice
Dim xSRg As Range
Dim xDRg As Range
Dim xPRg As Range
Dim xSRgArea As Range
Dim xRgVal As String
Dim xAddress As String
Dim I As Long
Dim K As Long
Dim KK As Long
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xSRg = Application.InputBox("Original cells:", "KuTools For Excel", xAddress, , , , , 8)
If xSRg Is Nothing Then Exit Sub
Set xDRg = Application.InputBox("Output cells:", "KuTools For Excel", , , , , , 8)
If xDRg Is Nothing Then Exit Sub
Set xPRg = Application.InputBox("Cells to exclude:", "KuTools For Excel", , , , , , 8)
If xPRg Is Nothing Then Exit Sub
Set xDRg = xDRg(1)
For I = 1 To xSRg.Areas.Count
Set xSRgArea = xSRg.Areas.Item(I)
For K = 1 To xSRgArea.Count
xRgVal = xSRgArea(K).Value
If Not IsNumeric(xRgVal) Then
xRgVal = CorrectCase(xRgVal, xPRg)
xDRg.Offset(KK).Value = xRgVal
End If
KK = KK + 1
Next
Next
End Sub
Function CorrectCase(ByVal xRgVal As String, ByVal xPRg As Range) As String
Dim xArrWords As Variant
Dim I As Integer
Dim xPointer As Integer
Dim xVal As String
xPointer = 1
xVal = xRgVal
xArrWords = WordsOf(xRgVal)
For I = 0 To UBound(xArrWords)
xPointer = InStr(xPointer, " " & xVal, " " & xArrWords(I))
Debug.Print xPointer
Mid(xVal, xPointer) = CorrectCaseOneWord(CStr(xArrWords(I)), xPRg)
Next I
CorrectCase = xVal
End Function
Function WordsOf(xRgVal As String) As Variant
Dim xDelimiters As Variant
Dim xArrRtn As Variant
xDelimiters = Array(",", ".", ";", ":", Chr(34), vbCr, vbLf)
For Each xEachDelimiter In xDelimiters
xRgVal = Application.WorksheetFunction.Substitute(xRgVal, xEachDelimiter, " ")
Next xEachDelimiter
xArrRtn = Split(Trim(xRgVal), " ")
WordsOf = xArrRtn
End Function
Function CorrectCaseOneWord(xArrWord As String, xERg As Range) As String
With xERg
If IsError(Application.Match(xArrWord, .Cells, 0)) Then
CorrectCaseOneWord = Application.Proper(xArrWord)
Else
CorrectCaseOneWord = Application.VLookup(xArrWord, .Cells, 1, 0)
End If
End With
End Function
3。 次に、 F5 このコードを実行するためのキーを押すと、変換する元のセルを選択するように促すプロンプトボックスが表示されます。スクリーンショットを参照してください。
4。 そして、 OK、ポップアウトされたボックスで結果を出力するセルを選択します。スクリーンショットを参照してください。
5。 クリックしてください OK、およびポップアップダイアログボックスで、除外するテキストを選択します。スクリーンショットを参照してください。
6。 そして、 OK ダイアログを終了するには、すべてのテキスト文字列が適切な大文字と小文字に変換されていますが、指定された単語は除外されています。スクリーンショットを参照してください。
最高のオフィス生産性向上ツール
🤖 | Kutools AI アシスタント: 以下に基づいてデータ分析に革命をもたらします。 インテリジェントな実行 | コードを生成 | カスタム数式の作成 | データを分析してグラフを生成する | Kutools関数を呼び出す... |
人気の機能: 重複を検索、強調表示、または識別する | 空白行を削除する | データを失わずに列またはセルを結合する | 数式なしのラウンド ... | |
スーパールックアップ: 複数の基準の VLookup | 複数の値の VLookup | 複数のシートにわたる VLookup | ファジールックアップ .... | |
詳細ドロップダウン リスト: ドロップダウンリストを素早く作成する | 依存関係のドロップダウン リスト | 複数選択のドロップダウンリスト .... | |
列マネージャー: 特定の数の列を追加する | 列の移動 | Toggle 非表示列の表示ステータス | 範囲と列の比較 ... | |
注目の機能: グリッドフォーカス | デザインビュー | ビッグフォーミュラバー | ワークブックとシートマネージャー | リソースライブラリ (自動テキスト) | 日付ピッカー | ワークシートを組み合わせる | セルの暗号化/復号化 | リストごとにメールを送信する | スーパーフィルター | 特殊フィルター (太字/斜体/取り消し線をフィルター...) ... | |
上位 15 のツールセット: 12 テキスト ツール (テキストを追加, 文字を削除する、...) | 50+ チャート 種類 (ガントチャート、...) | 40+ 実用的 式 (誕生日に基づいて年齢を計算する、...) | 19 挿入 ツール (QRコードを挿入, パスから画像を挿入、...) | 12 変換 ツール (数字から言葉へ, 通貨の換算、...) | 7 マージ&スプリット ツール (高度な結合行, 分割セル、...) | ... もっと |
Kutools for Excel で Excel スキルを強化し、これまでにない効率を体験してください。 Kutools for Excelは、生産性を向上させ、時間を節約するための300以上の高度な機能を提供します。 最も必要な機能を入手するにはここをクリックしてください...
Officeタブは、タブ付きのインターフェイスをOfficeにもたらし、作業をはるかに簡単にします
- Word、Excel、PowerPointでタブ付きの編集と読み取りを有効にする、パブリッシャー、アクセス、Visioおよびプロジェクト。
- 新しいウィンドウではなく、同じウィンドウの新しいタブで複数のドキュメントを開いて作成します。
- 生産性を 50% 向上させ、毎日何百回もマウス クリックを減らすことができます!