A 回答 (7件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>共通した文字列"様"より6文字左(手前)
ならC1に入れる式は「=MID(A1,FIND("様",A1)-6,7)」です。でもやるとわかるけど「個 A山B郎様」が表示されます。当たり前ですね、前提が間違ってるんで。
・名前の前に必ず全角スペースが入ります。
・名前は必ず「様」で終わります。
という前提なら、C1に入れる式は「=MID(A1,FIND(" ",A1)+1,FIND("様",A1)-FIND(" ",A1))」になります。エラー処理とか入れてないんで、そのくらいは宜しく。
この回答へのお礼
お礼日時:2015/11/27 16:33
早々にご回答ありがとうございます!
MID・FIND関数が理解しきれていなかったようで、申し訳ございません。
大変助かりました。ありがとうございます。
No.5
- 回答日時:
No.3です。
>イレギュラーな際は修正をする
というコトですが、この質問だけの関数を作ってみてはどうでしょうか?
考え方として、「様」があるところから遡ってスペース(半角、全角どちらでもOK)
までを表示させる方法です。
Alt+F11キー → メニュー → 挿入 → 標準モジュール → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
C1セルに通常の関数の使い方で数式を入れます。
Function myStr(myRng As Range) 'この行から//
Dim k As Long, myEnd As Long
myEnd = InStrRev(myRng, "様")
k = myEnd
Do
k = k - 1
If Mid(StrConv(myRng, vbNarrow), k, 1) = " " Then Exit Do
Loop
myStr = Trim(Mid(myRng, k, myEnd - k + 1))
End Function 'この行まで//
C1セルに
=myStr(A1)
としてフィルハンドルで下へコピーしてみてください。
※ エラー処理はしていませんので、IF関数などで随時エラー処理は行ってください。
尚、保存時は「マクロ有効ブック」として保存します。m(_ _)m
No.6
- 回答日時:
VBA で良いのならということで
A列のものを一気に処理して C列に書き出します
以下を標準モジュールに転記して、
処理するシートを見ながら Samp1 を実行してどうなりますか
Public Sub Samp1()
Dim vA As Variant
Dim i As Long, j As Long, k As Long
With Range("A1", Cells(Rows.Count, "A").End(xlUp))
vA = .Value
For i = 1 To UBound(vA)
k = InStr(vA(i, 1), "様")
If (k > 0) Then
j = InStrRev(" " & vA(i, 1), " ", k, vbTextCompare)
vA(i, 1) = Mid(vA(i, 1), j, k - j + 1)
Else
vA(i, 1) = ""
End If
Next
.Offset(, 2) = vA
End With
End Sub
やっていることは
・A列の処理するものを読み込んでおいて
・1つ1つ "様" の位置を求め
あったら、その位置より前の空白を求め文字列を抜き出します
・結果をC列に書き出して終了
なので、"様" は、存在するのなら1つだけ・・・の条件が出てきます
No.7
- 回答日時:
2名前は2文字以上で12文字未満(変更可)ということにして
=TRIM(MID(SUBSTITUTE(ASC(A1)," ",REPT(" ","10")),
FIND("様",SUBSTITUTE(ASC(A1)," ",REPT(" ","10")))-12,13))
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) Excel 文字列を結合するときに重複をなくしたい 関数・VBA 2 2022/12/12 10:40
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excelの文字列を数字に変換する方法について 6 2023/07/31 21:18
- Excel(エクセル) Excel>マクロ>特定のセルで同じ情報が登録されている行を1行にまとめたい(文字連結) 6 2023/01/05 16:30
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelの数字(文字列)合計について あるデータをダウンロードすると、数字データが全て文字列になっ 4 2022/09/26 21:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Excel(エクセル) 名前と日付が一致する箇所にフラグを立てる関数が知りたいです 4 2022/08/11 02:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
行数が不規則な一週間ごとの合...
-
【初歩】エクセルでのマクロ(...
-
エクセルでマクロを実行し、最...
-
エクセルで空白以外のセルの値...
-
[Excel VBA]空白セル以外に連番...
-
エクセルVBA 複数列をコピーす...
-
EXCELマクロ 最下行のセルの数...
-
《エクセル2000》A列・B列の和...
-
エクセルでマクロを使った特定...
-
A列の一つがH列の枠組みの中に...
-
【Excelマクロ】フォルダ名の一...
-
一行おきにコピーするマクロが...
-
シート保護の状態で行の追加を...
-
エクセル マクロ 貼り付け先が...
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
エクセルの複数のセルを一括で...
-
Excelの入力規則で2列表示したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELにて複数列を同条件(色)...
-
一行おきにコピーするマクロが...
-
エクセルで行挿入した際、自動...
-
行数が不規則な一週間ごとの合...
-
Excelの非表示列も含めてコピー
-
エクセル マクロ 貼り付け先が...
-
シート保護の状態で行の追加を...
-
エクセルで表示された値だけ行...
-
エクセルで空白以外のセルの値...
-
エクセル VBA 指定の範囲内をコ...
-
エクセルの関数について(日付で...
-
[Excel VBA]空白セル以外に連番...
-
エクセルで反転コピー
-
【初歩】エクセルでのマクロ(...
-
エクセルで縦に長い表を印刷
-
エクセルVBA 複数列をコピーす...
-
マクロで値がある列までコピー
-
Excel VBAで日にちを入力して線...
-
《エクセル2000》A列・B列の和...
-
マクロ ScrollColumn について
おすすめ情報
皆さま回答ありがとうございます。
今更過ぎて補足にもならないやもしれませんのですが、
条件が[共通した文字列"様"より6文字左(手前)]のみであった理由といたしまして、
セルの初めの一文(品名)につきましては、
おいしい 豆腐 1個
絶品 牛乳 2つ
というったように、全角・半角スペースが入るものがあったためでした。
必要な情報が抜けており申し訳ございません。
これまでの客数から文字数を決めてしまって、イレギュラーな際は修正をするという形も検討したいと思います。