Excel에서 특수 문자를 포함하지만 쉼표를 허용하는 열의 모든 행에 플래그를 지정하는 방법은 무엇입니까?

Excel에서 특수 문자를 포함하지만 쉼표를 허용하는 열의 모든 행에 플래그를 지정하는 방법은 무엇입니까?

슈퍼유저에서 오래된 게시물을 찾았습니다여기서 사용자는 특수 문자가 포함된 A열의 모든 행에 플래그를 지정하려고 했습니다. 답변 중 하나에는 조건부 서식 솔루션이 포함되었습니다.

=SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<48)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>45))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>57)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<65))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>90)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>95))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>122)*1)

이 공식은 각 파일 이름의 각 문자를 확인하고 해당 ASCII 코드가 허용되는 문자 값을 벗어나는지 확인합니다. 허용되는 문자에는 AZ, az, 0-9, 밑줄 및 대시가 포함됩니다.

내 필요는거의쉼표도 허용해야 한다는 점을 제외하면 똑같습니다. 그리고 쉼표를 허용하도록 코드를 수정하는 방법을 알아낼 만큼 재능이 없습니다. 도와줄 수 있는 사람이 있나요?

답변1

편집: 돌아가서 원래 댓글을 읽었습니다. 이 수식은 작동해야 합니다.

=SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<48)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>45)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>44))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>57)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<65))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>90)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<97)*(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>95))+SUMPRODUCT((CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))>122)*1)

위의 수식에 이 비트를 추가했습니다.

(CODE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))<>44)

44는 ASCII와 동일합니다 comma. 따라서 이 비트가 comma.


질문이 변경된 것으로 확인되었습니다. 에 대한 몇 가지 샘플 값을 제공할 수 있습니까 A1?

나는 당신이 제공한 공식을 잘 이해하지 못합니다. ROW(INDIRECT("1:"&LEN(A1)))항상 1이 될 것입니다. 그래서 그걸 뭐라고 부르는지 모르겠어요.


다른 링크에서 이 줄을 변경하세요.

RegEx.Pattern = "[^A-Za-z0-9_-]"

이에:

RegEx.Pattern = "[^A-Za-z0-9_\-,]"

관련 정보