Searching for Capital Letters
Hi
are you sure you're ready fro this<vbg
{=IF(A2="","",
LARGE((--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<91))*
(--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))64))*
ROW(INDIRECT("1:"&LEN(A2))),
SUM((--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<91))*
(--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))64))) +1-5))}
Again array entered with CSE.
the part
SUM((--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))<91))*
(--(CODE(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1))64)))
entered as an array formula, counts the number of CAPITAL letters in the
string
I made the last part +1-5 as the 5 is the 5th capital letter and is
therefore easier to see than using a net 4.
To prevent errors with strings less than 5 capital letters, you should
really use this again at the beginning of the formula to provide an
additional IF test, to give a null value in this scenario.
--
Regards
Roger Govier
"FLKulchar" wrote in message
...
GREAT...
Now, suppose I want to test for the 5th capital letter??
What changes in your fabulous formula?
Thank you,
FLKulchar
"Roger Govier" wrote in message
...
Hi
Just realised you asked in .programming so you probably wanted a code
solution not a formula.
Something like the following should get you started.
Sub test()
Dim i As Long
Dim s As String, c As String
s = ActiveCell.Value
For i = 1 To Len(s)
c = Mid(s, i, 1)
If Asc(c) 64 And Asc(c) < 91 Then
MsgBox "First Uppercase Alpha Position is " & i
Exit Sub
End If
Next
End Sub
--
Regards
Roger Govier
"Roger Govier" wrote in message
...
Hi
Rather unwieldy, but seems to produce the desired result, the array
entered
{=IF(A1="","",
SUM((--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<91))*
(--(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))64))*
ROW(INDIRECT("1:"&LEN(A1)))))}
Commit and edit with Ctrl+Shift+Enter (CSE) not just Enter.
Excel will insert the curly braces { } when you use CSE, do not
type them yourself.
--
Regards
Roger Govier
"F. Lawrence Kulchar"
wrote in message
...
How do I find the position of the FIRST...(or fifth) capital letter
within a
text string?
EG:
A
1 abndHnmJ
2 123wTTghy6TH
3 hhhHhhh
ANSWER: A1 would be 5
A2 would be 5
A3 would be 4
HOW TO TEST FOR THIS??
Thank you,
FLKulchar
|