programing

Excel: 수식을 255자보다 길게 사용

elecom 2023. 7. 12. 22:16
반응형

Excel: 수식을 255자보다 길게 사용

엑셀에는 다음 공식이 있습니다.

=CONCATENATE("insert into #UpdateData (mondayopenhour, mondayopenmin,mondayclosehour, mondayclosemin,tuesdayopenhour, tuesdayopenmin,tuesdayclosehour, tuesdayclosemin,wednesdayopenhour, wednesdayopenmin, wednesdayclosehour, wednesdayclosemin,thursdayopenhour, thursdayopenmin,thursdayclosehour, thursdayclosemin, fridayopenhour, fridayopenmin, fridayclosehour, fridayclosemin, saturdayopenhour, saturdayopenmin, saturdayclosehour, saturdayclosemin, sundayopenhour, sundayopenmin, sundayclosehour, sundayclosemin values ('",TRIM(A2),"',",MID(B2,1,2),",",MID(B2,3,2),",",MID(C2,1,2),",",MID(C2,3,2),",",MID(D2,1,2),",",MID(D2,3,2),",",(MID(E2,1,2),",",MID(E2,3,2),",",MID(F2,1,2),",",MID(F2,3,2),",",MID(G2,1,2),",",MID(G2,3,2),",",MID(H2,1,2),",",MID(H2,3,2),",",MID(I2,1,2),",",MID(I2,3,2),",",MID(J2,1,2),",",MID(J2,3,2),",",MID(K2,1,2),",",MID(K2,3,2),",",MID(L2,1,2),",",MID(L2,3,2),",",MID(M2,1,2),",",MID(M2,3,2),",",MID(N2,1,2),",",MID(N2,3,2),",",MID(O2,1,2),",",MID(O2,3,2),")")

실행하려고 하면 다음 오류가 발생합니다.

수식의 텍스트 값은 255자로 제한됩니다.공식에서 255자보다 긴 텍스트 값을 만들려면 CONCATENATE 함수 또는 연결 연산자(&)를 사용합니다.

인터넷에서 찾아봤는데 진짜 해결책이 없어요! 어떻게 해결해야 하는지 아는 사람 있나요?

나도 방금 이 문제에 부딪혔어요...하지만 실제로는 문제가 되지 않습니다.셀에는 255자만 사용할 수 있지만 수식에는 제한이 없습니다.수식에 오류가 발생하므로 Excel은 수식이 아닌 텍스트로 읽습니다.오류를 찾으면 공식이 작동합니다.

이것은 하나의 지저분한 기능입니다.입력은 다음으로 구분해야 합니다.CONCATENATE.

지금은 "insert..."로 시작하는 매우 큰 문자열이 하나뿐입니다. "..."로 끝납니다.MID(O2,3,2),""," 또는 적어도 여기서 끝나는 것 같습니다. 모든 ""때문에, 이것을 통과하는 것은 정말 어렵습니다.

사용 방법은 다음과 같습니다.CONCATENATE:

=CONCATENATE("insert into #UpdateData (mondayopenhour,","mondayopenmin,")

이 값을 확장하면 255자를 초과하는 문자열을 하나도 사용할 수 없습니다.

편집: 그나저나 - 현재 문자열은 약 972자입니다.

다음 공식을 사용하여 분리를 쉽게 할 수 있습니다.

=MID("insert into #UpdateData (mondayopenhour, mondayopenmin,mondayclosehour, mondayclosemin,tuesdayopenhour, tuesdayopenmin,tuesdayclosehour, tuesdayclosemin,wednesdayopenhour, wednesdayopenmin, wednesdayclosehour, wednesdayclosemin,thursdayopenhour, thursdayopenmin,thursdayclosehour, thursdayclosemin, fridayopenhour, fridayopenmin, fridayclosehour, fridayclosemin, saturdayopenhour, saturdayopenmin, saturdayclosehour, saturdayclosemin, sundayopenhour, sundayopenmin, sundayclosehour, sundayclosemin values ('",TRIM(A2),"',",MID(B2,1,2),",",MID(B2,3,2),",",MID(C2,1,2),",",MID(C2,3,2),",",MID(D2,1,2),",",MID(D2,3,2),",",(MID(E2,1,2),",",MID(E2,3,2),",",MID(F2,1,2),",",MID(F2,3,2),",",MID(G2,1,2),",",MID(G2,3,2),",",MID(H2,1,2),",",MID(H2,3,2),",",MID(I2,1,2),",",MID(I2,3,2),",",MID(J2,1,2),",",MID(J2,3,2),",",MID(K2,1,2),",",MID(K2,3,2),",",MID(L2,1,2),",",MID(L2,3,2),",",MID(M2,1,2),",",MID(M2,3,2),",",MID(N2,1,2),",",MID(N2,3,2),",",MID(O2,1,2),",",MID(O2,3,2),")",2,255)

같은 문제에 대한 저의 해결책에 대해서 말하자면, 그 긴 텍스트들은 제 공식 자체의 일부가 아닌 별도의 셀에 넣었습니다.예:

=CONCATENATE("INSERT INTO CAS_ACD (ACD_NUMBER, WAGON_WHEEL_INDEX, WAGON_WHEEL_COUNT, WAGON_WHEEL_COUNT_MAX, WAIT_TIME, MAX_WAIT_TIME,
MON_TIME, TUE_TIME, WED_TIME, THU_TIME, FRI_TIME, SAT_TIME, SUN_TIME, DATE_CLOSED1,
DATE_CLOSED2, DATE_CLOSED3, DATE_CLOSED4, DATE_CLOSED5, DATE_CLOSED6, DATE_CLOSED7, DATE_CLOSED8,
DATE_CLOSED9, DATE_CLOSED10, DATE_CLOSED11, DATE_CLOSED12, DATE_CLOSED13, DATE_CLOSED14,
DATE_CLOSED15, DATE_CLOSED16, DATE_CLOSED17, DATE_CLOSED18, DATE_CLOSED19, DATE_CLOSED20,
CTI_SERVER_ADDR, PROGRAM_NUM, VERSION_NUM, COMMENTS, TOD_VOICE_DIR, TOD_VS, ACD_NAME) 
VALUES ("B2, C2,");")

대신, 저는 이것을 A2 세포 중 하나에 저장합니다.

Cell A2 now contains=
INSERT INTO CAS_ACD (ACD_NUMBER, WAGON_WHEEL_INDEX, WAGON_WHEEL_COUNT, WAGON_WHEEL_COUNT_MAX, WAIT_TIME, MAX_WAIT_TIME,
MON_TIME, TUE_TIME, WED_TIME, THU_TIME, FRI_TIME, SAT_TIME, SUN_TIME, DATE_CLOSED1,
DATE_CLOSED2, DATE_CLOSED3, DATE_CLOSED4, DATE_CLOSED5, DATE_CLOSED6, DATE_CLOSED7, DATE_CLOSED8,
DATE_CLOSED9, DATE_CLOSED10, DATE_CLOSED11, DATE_CLOSED12, DATE_CLOSED13, DATE_CLOSED14,
DATE_CLOSED15, DATE_CLOSED16, DATE_CLOSED17, DATE_CLOSED18, DATE_CLOSED19, DATE_CLOSED20,
CTI_SERVER_ADDR, PROGRAM_NUM, VERSION_NUM, COMMENTS, TOD_VOICE_DIR, TOD_VS, ACD_NAME) 
VALUES ('

그래서 지금 제 공식은

=CONCATENATE( A2, B2, C2)

이 문제를 해결하는 가장 쉬운 방법은 일부 셀을 사용하여 끈의 개별 요소를 만들고 콩세탄산염을 사용하여 하나의 셀에 병합하는 것입니다.오류를 해결할 수 있는 더 많은 공간을 제공합니다. 진술에 오류가 있을 수도 있지만, 오류의 길이는 거의 보이지 않습니다.

"255자 이상"에 대한 문제가 발생하여 연결 없이 쉽게 해결했습니다.

감방에 넣었습니다.T1값의 긴 문자열입니다.그렇다면 제 공식은 다음과 같습니다.

="INSERT INTO sql_table_name ("&T1&") VALUES ('"&A40&"','"&B40&"','"&C40&"','"&D40&"','"&E40&"','"&F40&"','"&G40&"','"&H40&"','"&I40&"','"&J40&"','"&K40&"','"&L40&"','"&M40&"','"&N40&"','"&O40&"','"&P40&"','"&Q40&"','"&R40&"','"&S40&"');"

문자열 사이에 "&" 연산자를 사용한 수식을 사용하다가 255자의 문제를 발견하고 문제가 해결되었습니다.

언급URL : https://stackoverflow.com/questions/12386414/excel-use-formula-longer-that-255-characters

반응형