문자열의 단어 당 문자 수를 계산하여 쉼표로 구분 된 값을 반환하는 방법이 있습니까?

스튜어트 그레이

나는 셀에 문자열 목록이 있습니다-1000 개-단어 당 문자를 계산해야하지만 단어로 구분해야합니다-가급적이면 1 개의 빠른 수식으로 ...

예 : 1. "손잡이가있는 검은 색 컵"> 수식 I 필요> 5,3,4,6

  1. "거대한 곰 조각상"> 필요한 포뮬러> 5,4,6

단어를 열로 계산하는 매우 비효율적 인 방식으로 매크로 처리 된 반복 작업에 필요하지만 (그냥 넣는 데 최대 20 개를 사용해야 함)이 문제를 해결해야합니다.

일반적으로 공백과 중첩 된 serach () 수식을 계층화하여 구조를 분해 한 다음 문자가 개별 단어를 계산합니다.

대안으로 매크로를 사용하여 쉼표를 공백으로 대체하고 텍스트를 열로 사용할 수 있지만 여전히 내가 찾는 것에 대한 계산 프로세스가 연장됩니다.

우리는 분명히 =LEN(A1)-LEN(SUBSTITUTE(A1," ",""))단어의 공백을 세는 데 사용 합니다.

우리는 현재 각 단어를 자신의 개별 셀에 표시하기 위해 함수 (및 일부 기괴한 숫자)와 =SEACRH()결합 된 함수 를 사용=MID()

그런 다음 =LEN다시 번 모든 개별 단어를 부를 수 있습니다.

나는 이것을하는 더 짧은 방법을 찾고 싶지만 누군가가 나를 틀렸다는 것을 증명할 수 있기를 바라면서 공식만으로 그것을 할 수있는 역동적 인 방법이 없을 수 있다고 생각합니다!

JvdV

Excel 버전에 따라 다른 옵션이 있습니다.


옵션 1: TEXTJOIN

나는 당신이 TEXTJOIN기능을 찾고 있다고 생각합니다 . 이 기능은 더 최신 버전의 Excel에서만 사용할 수 있으며 (문서 링크 참조) 다음과 같이 작동 할 수 있습니다.

여기에 이미지 설명 입력

공식 B1:

=TEXTJOIN(",",TRUE,LEN(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s")))

참고 : 이것은 배열 수식이며 다음을 사용하여 입력해야합니다.CtrlShiftEnter

위의 키 조합을 사용할 필요가 없도록 만들기 위해 다음을 포함 할 수 있습니다 INDEX.

=TEXTJOIN(",",TRUE,INDEX(LEN(FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s")),))

추가 정보:

FILTERXML

이 함수는 (문서에 따라) 두 개의 필수 인수를 사용합니다.

  • 유효한 XML 의 문자열
  • 유효한 XPath 의 문자열

셀에서 요소 (단어)의 배열을 반환하기를 원하기 때문에 SUBSTITUTE끝 태그 ( </..>)를 위한 공백이 필요 하고이를 문자열의 시작 부분에 시작 태그 ( )로 연결 <..>하고 문자열의 시작 부분에 다른 끝 태그를 연결해야합니다. 종료.

XML<?><?>작동하는지, 그 의미 인지에 대한 태그 에 대한 설명에 의존해야 할 것입니다. 왜냐하면 테스트가 진행되는 한 최종 결과가 같은 결과를 가진 다른 문자로 대체 할 수 있기 때문 Xpath입니다. 같은 캐릭터. 누군가가이 문제에 대한 더 나은 설명으로이 답변을 보완 할 수 있다면 좋을 것입니다.

더 많은 FILTERXML"트릭"을 보려면 여기를 보십시오 .


TEXTJOIN

Office 365 구독자이거나 Excel 2019를 소유하고있는 경우이 기능을 사용할 수 있습니다. 문서에 따라 최소한 3 개의 필수 인수가 있습니다.

  • 텍스트 문자열, 비어 있거나 큰 따옴표로 묶인 하나 이상의 문자 또는 유효한 텍스트 문자열에 대한 참조 여야하는 구분 기호입니다. 숫자가 제공되면 텍스트로 처리됩니다.
  • 두 번째 인수는 TRUE또는 중 하나를 보유 할 수 FALSE있으며 빈 값을 제외 / 포함할지 여부를 결정합니다.
  • 세 번째 인수는 결합 할 텍스트 항목입니다. 텍스트 문자열 또는 셀 범위와 같은 문자열 배열입니다.

이제 여기에서 두 함수를 결합 FILTERXML하여에서 사용할 수있는 배열을 반환 할 수 있습니다 TEXTJOIN.


INDEX + LEN

이 함수들의 사용에 대해 함께 설명해야 할 것입니다. 나는 생각하지 않는다 LEN그리고 INDEX자신에 대한 소개의 대부분을해야하지만 그들은 함께 아주 잘 작동합니다. 기본적으로 LEN값 배열을 함수에 전달할 때 값 배열을 반환 하지 못하도록하는 암시 적 교차라는 힘이 있습니다 ( 이 경우 FILTERXML.

: 일반적으로 당신의 키 조합을 사용하여이 메커니즘을 사용하지 않도록 것 CtrlShiftEnter, 더 잘 알려진 CSE.

이제이 INDEX암시 적 교차를 비활성화 LEN하여 배열을 반환 할 수 있도록 CSE하여 수식 의 필요성을 제거합니다 . INDEX이 "힘"이있는 기능 중 하나입니다. 암시 적 교차에 대한 자세한 설명은 여기 에서 찾을 수 있습니다.


옵션 2 : UDF

액세스 권한이 없으면 TEXTJOINUDF 사용을 살펴볼 필요가 있다고 생각합니다.

Function TEXTJOIN(rng As Range) As String
    TEXTJOIN = Join(Application.Evaluate("LEN({""" & Join(Split(rng, " "), """,""") & """})"), ",")
End Function

다음과 B1같이 호출 할 수 있습니다 .=TEXTJOIN(A1)


추가 정보:

UDF는 함께 작동하는 세 가지 주요 메커니즘으로 구성됩니다.

JOIN

이 함수는 첫 번째 매개 변수가 필요한 두 개의 매개 변수를 사용합니다.

  • 첫 번째 매개 변수는 하위 문자열을 포함하는 1 차원 배열입니다.
  • 두 번째 (선택적) 매개 변수는 반환 된 문자열에서 하위 문자열을 구분하는 데 사용되는 문자열 문자입니다. 생략하면 공백 문자 ( "")가 사용됩니다. 구분 기호가 길이가 0 인 문자열 ( "")이면 목록의 모든 항목이 구분 기호없이 연결됩니다.

이 함수는 문자열 값을 반환합니다.


SPLIT

이 함수는 문자열을 받아서 지정된 문자 / 하위 문자열로 구분합니다. 다음 인수를 사용합니다.

  • 1st : 하위 문자열과 구분 기호를 포함하는 필수 문자열 식입니다. expression이 길이가 0 인 문자열 ( "") 인 경우 Split은 빈 배열, 즉 요소와 데이터가없는 배열을 반환합니다.
  • 2nd : 하위 문자열 제한을 식별하는 데 사용되는 문자열 문자 인 선택적 구분 기호입니다. 생략하면 공백 문자 ( "")가 구분 기호로 간주됩니다. delimiter가 길이가 0 인 문자열 인 경우 전체 식 문자열을 포함하는 단일 요소 배열이 반환됩니다.
  • 세 번째 : 선택적 제한, 반환 할 하위 문자열 수; -1은 모든 하위 문자열이 반환됨을 나타냅니다.
  • 4th : 비교 (선택 사항이기도 함)는 부분 문자열을 평가할 때 사용할 비교 종류를 나타내는 숫자 값입니다. 값은 설정 섹션을 참조하십시오.

이 경우 처음 두 개의 인수 만 필요합니다.


Application.Evaluate

이것은 항목 / 셀을 반복 할 필요없이 반환 된 값 배열을 가져 오는 데 사용할 수있는 가장 편리한 메커니즘 중 하나입니다. 함수에 큰 배열 수식을 제공하면 속도가 느려질 수 있지만이 경우에는 괜찮습니다. 이 기능은 Microsoft Excel 이름을 개체 또는 값으로 변환하고 수식을 전달하면 결과를 반환합니다. 이 특별한 경우에는 배열을 반환합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

문자열을 구문 분석하고 쉼표로 구분 된 단어를 추출하고 [] 대괄호 내부에서 값을 할당합니다.

분류에서Dev

쉼표로 구분 된 단어가있는 단일 문자열을 여러 문자열로 변환하는 방법은 무엇입니까?

분류에서Dev

객체 내부의 중첩 배열을 쉼표로 구분 된 하나의 연결된 문자열 값으로 어떻게 변환 할 수 있습니까?

분류에서Dev

Pandas groupby ()를 사용하여 열의 쉼표로 구분 된 항목이있는 문자열을 목록으로 집계하는 방법은 무엇입니까?

분류에서Dev

Oracle db에서 쉼표로 구분 된 값이있는 열에 문자열이 있는지 여부를 어떻게 확인할 수 있습니까?

분류에서Dev

쉼표로 구분 된 숫자 문자열을 정수로 변환하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열 변수에서 숫자 값을 가져 와서 문자열 배열을 변환하는 방법은 무엇입니까?

분류에서Dev

각 문자열이 쉼표로 구분 된 문자열 목록 일 수있는 문자열 목록을 어떻게 처리 할 수 있습니까?

분류에서Dev

SQL Server에서 테이블의 정수 행을 쉼표로 구분 된 문자열로 변환하는 방법

분류에서Dev

쉼표로 구분 된 문자열을 분할하지만 Java에서 쉼표가 포함 된 일부 단어를 제외하는 방법

분류에서Dev

PHP 배열 값을 쉼표로 구분 된 문자열로 할당하는 방법

분류에서Dev

PHP의 배열을 쉼표로 구분 된 문자열로 변환하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열 또는 / n으로 구분 된 문자열을 jquery의 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

쉼표 JAVA 함수의 값을 매개 변수로 구분 된 문자열을 전달하는 방법

분류에서Dev

문자열의 각 문자가 쉼표로 구분되는 문자 값으로 문자열을 수정하는 방법은 무엇입니까?

분류에서Dev

mySql : 셀의 단어 수 (쉼표로 구분 된 문자열)가 일치하는 셀과 동일한 값을 갖는 행을 가져옵니다.

분류에서Dev

쉼표로 구분 된 문자열에서 이름과 정수 값을 읽는 방법은 무엇입니까?

분류에서Dev

정규식을 사용하여 Oracle에서 쉼표로 구분 된 문자열에서 단일 숫자를 바꾸는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 값의 문자열을 배열로 변환하는 방법

분류에서Dev

PHP를 사용하여 하나의 문자열에 쉼표로 구분 된 값이 있는지 확인하는 방법

분류에서Dev

Oracle PL / SQL에서 쉼표로 구분 된 문자열을 전달하고이를 반복하여 쿼리를 실행하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열을 작은 따옴표로 묶고 쉼표로 구분 한 문자열 문자열로 변환하는 방법

분류에서Dev

쉼표로 구분 된 문자열 열을 목록으로 변환하는 방법은 무엇입니까?

분류에서Dev

Oracle SQL에서 쉼표로 구분 된 문자열에서 0이 아닌 숫자를 계산하는 방법

분류에서Dev

PHP : 쉼표로 구분 된 값으로 문자열을 생성하지만 문자열 끝에 쉼표없이

분류에서Dev

postgresql에서 쉼표로 구분 된 문자열의 값을 업데이트하는 방법

분류에서Dev

MySQL에서 쉼표로 구분 된 문자열 값에서 중앙값을 계산하는 방법은 무엇입니까?

분류에서Dev

쉼표로 구분 된 문자열을 테이블에 저장하는 방법

분류에서Dev

괄호와 쉼표로 구분 된 값이있는 문자열 구문 분석

Related 관련 기사

  1. 1

    문자열을 구문 분석하고 쉼표로 구분 된 단어를 추출하고 [] 대괄호 내부에서 값을 할당합니다.

  2. 2

    쉼표로 구분 된 단어가있는 단일 문자열을 여러 문자열로 변환하는 방법은 무엇입니까?

  3. 3

    객체 내부의 중첩 배열을 쉼표로 구분 된 하나의 연결된 문자열 값으로 어떻게 변환 할 수 있습니까?

  4. 4

    Pandas groupby ()를 사용하여 열의 쉼표로 구분 된 항목이있는 문자열을 목록으로 집계하는 방법은 무엇입니까?

  5. 5

    Oracle db에서 쉼표로 구분 된 값이있는 열에 문자열이 있는지 여부를 어떻게 확인할 수 있습니까?

  6. 6

    쉼표로 구분 된 숫자 문자열을 정수로 변환하는 방법은 무엇입니까?

  7. 7

    쉼표로 구분 된 문자열 변수에서 숫자 값을 가져 와서 문자열 배열을 변환하는 방법은 무엇입니까?

  8. 8

    각 문자열이 쉼표로 구분 된 문자열 목록 일 수있는 문자열 목록을 어떻게 처리 할 수 있습니까?

  9. 9

    SQL Server에서 테이블의 정수 행을 쉼표로 구분 된 문자열로 변환하는 방법

  10. 10

    쉼표로 구분 된 문자열을 분할하지만 Java에서 쉼표가 포함 된 일부 단어를 제외하는 방법

  11. 11

    PHP 배열 값을 쉼표로 구분 된 문자열로 할당하는 방법

  12. 12

    PHP의 배열을 쉼표로 구분 된 문자열로 변환하는 방법은 무엇입니까?

  13. 13

    쉼표로 구분 된 문자열 또는 / n으로 구분 된 문자열을 jquery의 목록으로 변환하는 방법은 무엇입니까?

  14. 14

    쉼표 JAVA 함수의 값을 매개 변수로 구분 된 문자열을 전달하는 방법

  15. 15

    문자열의 각 문자가 쉼표로 구분되는 문자 값으로 문자열을 수정하는 방법은 무엇입니까?

  16. 16

    mySql : 셀의 단어 수 (쉼표로 구분 된 문자열)가 일치하는 셀과 동일한 값을 갖는 행을 가져옵니다.

  17. 17

    쉼표로 구분 된 문자열에서 이름과 정수 값을 읽는 방법은 무엇입니까?

  18. 18

    정규식을 사용하여 Oracle에서 쉼표로 구분 된 문자열에서 단일 숫자를 바꾸는 방법은 무엇입니까?

  19. 19

    쉼표로 구분 된 값의 문자열을 배열로 변환하는 방법

  20. 20

    PHP를 사용하여 하나의 문자열에 쉼표로 구분 된 값이 있는지 확인하는 방법

  21. 21

    Oracle PL / SQL에서 쉼표로 구분 된 문자열을 전달하고이를 반복하여 쿼리를 실행하는 방법은 무엇입니까?

  22. 22

    쉼표로 구분 된 문자열을 작은 따옴표로 묶고 쉼표로 구분 한 문자열 문자열로 변환하는 방법

  23. 23

    쉼표로 구분 된 문자열 열을 목록으로 변환하는 방법은 무엇입니까?

  24. 24

    Oracle SQL에서 쉼표로 구분 된 문자열에서 0이 아닌 숫자를 계산하는 방법

  25. 25

    PHP : 쉼표로 구분 된 값으로 문자열을 생성하지만 문자열 끝에 쉼표없이

  26. 26

    postgresql에서 쉼표로 구분 된 문자열의 값을 업데이트하는 방법

  27. 27

    MySQL에서 쉼표로 구분 된 문자열 값에서 중앙값을 계산하는 방법은 무엇입니까?

  28. 28

    쉼표로 구분 된 문자열을 테이블에 저장하는 방법

  29. 29

    괄호와 쉼표로 구분 된 값이있는 문자열 구문 분석

뜨겁다태그

보관