어떤 방식으로든 셀에 있는 문자열을 행과 열 범위의 배열로 변환하시겠습니까?

어떤 방식으로든 셀에 있는 문자열을 행과 열 범위의 배열로 변환하시겠습니까?

이미지에 표시된 것과 같은 범위 행렬의 목록에서 이 이름을 변환하려고 합니다. 수식을 디버깅할 때 행과 열 범위의 배열을 정확하게 표시하고 싶습니다. 이 이름을 다음으로 변환할 수 있는 방법이 있습니까? 이런 범위??여기에 이미지 설명을 입력하세요

답변1

텍스트 문자열을 원하면 다음을 사용하십시오.

="={"""&TEXTJOIN(""",""",,SUBSTITUTE($A$2:$A$5," ","""/""")) & """}"

다른 곳에서 사용될 실제 배열을 원한다면 다음을 사용하십시오.

IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(TRANSPOSE($A$2:$A$5)," ","</b><b>")&"</b></a>","//b["&ROW($A$1:$A$4)&"]"),"")

그러면 다른 수식에 사용할 수 있는 4x4 배열이 생성됩니다. 버전에 따라 다른 수식에서 이를 사용하려면 편집 모드를 종료하여 배열 수식을 강제 적용할 때 Enter 대신 Ctrl-Shift-Enter를 사용해야 합니다.

F9나는 당신이 원하는 것을 수행 하고 수식 입력 줄에 배열을 표시하는 방법을 모릅니다 .

답변2

글쎄, 내가 복제하지 않을 오타 "JONH"를 뺀 리터럴 문자열은 Scott Craner의 공식을 아주 약간 조정하여 얻을 수 있습니다. (그리고 저는 트릭 SEQUENCE()대신에 ROWS()익숙해지려면 새로운 함수를 사용해야 합니다.) 응?) 그런 다음 일부 문자열 작업의 기초로 사용됩니다.

="={"""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(B234:B237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(C234:C237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(D234:D237),SEQUENCE(4)))&""","""&TEXTJOIN("""\""",,INDEX(TRANSPOSE(E234:E237),SEQUENCE(4)))&"""}"

문자 그대로 원하는 출력을 제공하지만 출력은 다음과 같습니다.아니다Excel의 관점에서 볼 때 배열 상수이며 결과와 정확하게 일치하지 않습니다 F9.

모든 Excel 관리에 대한 일부 텍스트 문자열일 뿐입니다. 따라서 수식 내에서 이를 사용하면 실패하거나 우연히 성공할 가능성이 높습니다. 어쩌면 어떤 용도로는 제대로 작동할 수도 있습니다. 그러나 내부 사용 배열 상수가 무언가를 강조 표시하고 타격을 가하면 Excel과 동일하거나 동일하지 않습니다 F9.

즉, 추악하고 부풀어 오른다. 나는 내가 생각하는 댓글에서 스레드를 앞뒤로 따르지 않기 TRANSPOSE()때문에 원하는 출력이 왼쪽-오른쪽인 것 같기 때문에 Scott Craner가 왜 나를 강제로 사용했는지 알 수 없습니다 (위의 댓글은 "A234 = ") Jonh",...) 따라서 이를 꺼내서 A2:A5를 A1:A4로 조정하면(또는 실험을 위해 행을 삭제하면) 다음과 같은 결과를 얻습니다.

=IFERROR(FILTERXML("<a><b>"&SUBSTITUTE(($A$234:$A$237)," ","</b><b>")&"</b></a>","//b["&SEQUENCE(1,4)&"]"),"")

그의 공식과 나의 재작업에 대해 그의 공식을 혼합하여 단일 공식을 사용하면 다음과 같은 결과를 얻을 수 있습니다.

="={"""&TEXTJOIN("""\""",,B234:E234)&""","""&TEXTJOIN("""\""",,B235:E235)&""", """&TEXTJOIN("""\""",,B236:E236)&""","""&TEXTJOIN("""\""",,B237:E237)&"""}"

그건 그렇고, 패턴이 지정되고 구성이 반복적이므로 이전 CONCATENATE()또는 union operator옛날 트릭을 사용하여 행과 열을 멋지게 조정한 후 최종적으로 연결하고 특수 값을 붙여넣은 다음 "="를 배치하여 엄청나게 구축할 수 있습니다. 그 전에 공식을 만들어 보세요. 이제는 더욱 쉬워졌습니다. 4개의 작은 행이 아니고 5개 미만의 요소로 구성된 데이터의 경우입니다.

그러면 표현된 원하는 결과 문자열이 제공되지만 이는 Excel에서 F9언급한 대로 사용한 후 표시되는 배열 상수와 동일한 것으로 표시되는 결과가 아닙니다.

그리고 변경된 Scott Craner 공식은 주석에 설명된 개별 셀 결과를 제공합니다. Excel에서 내부 배열 상수를 생성할 수 있도록 수식 내에서 자체적으로 사용할 수 있습니다. 하지만 제 생각에는 문자열 공식을 사용하는 것이 아니라(계산적으로는 막다른 골목입니다) 오히려so Excel will evaluate it to the desired배열 상수 에 필요한 수식 안에 Scott Craner의 (조정된) 수식을 사용합니다.을 누른 다음 이 16개 셀을 채우는 대신 해당 수식 내부의 계산 체인에 전달합니다.

방금 카트맨이... 복수를 하게 된 사우스 파크의 "스콧 테너맨"(또는 가까운 사람)이라는 걸 깨달았습니다. "스콧 크래너"를 계속해서 말해도 더 이상 막연하게 귀찮지 않습니다!

관련 정보