나슈퍼유저에서 오래된 게시물을 찾았습니다여기서 사용자는 특수 문자가 포함된 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_\-,]"