String Excel:使用长度超过255个字符的公式
我在excel中有以下公式String Excel:使用长度超过255个字符的公式,string,excel,excel-formula,String,Excel,Excel Formula,我在excel中有以下公式 =CONCATENATE("insert into #UpdateData (mondayopenhour, mondayopenmin,mondayclosehour, mondayclosemin,tuesdayopenhour, tuesdayopenmin,tuesdayclosehour, tuesdayclosemin,wednesdayopenhour, wednesdayopenmin, wednesdayclosehour, wednesdayclo
=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个字符的值,请使用串联
函数或串联运算符(&)
我一直在网上查这个,但没有真正的解决办法!有人知道如何解决这个问题吗?解决这个问题最简单的方法是使用一些单元格构建字符串的单独元素,并使用concetanate将它们合并到一个单元格中。
它为错误解决提供了更大的空间-也许您的语句有错误,但它们在长度上几乎是不可见的。现在这是一个混乱的函数。您必须将输入分离到
串联
现在你只有一个非常大的字符串,从“插入…”开始,到“…中间(O2,3,2),”)”——或者至少,我认为这就是结束的地方,因为所有的“,”很难通过这一步
下面是您应该如何使用连接:
=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)
我也遇到了这个问题……但这并不是一个真正的问题。单元格中只能有255个字符,但在公式中不受限制。您的公式将导致错误,因此excel将其作为文本而不是公式读取。
找到你的错误,你的公式就会生效。对于我解决同一问题的方法,我把这些长文本放在单独的单元格中,而不是公式本身的一部分。
例如:
相反,我将其存储到其中一个单元格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&"');"
我不确定=PART
是否有效,但我成功地解决了这个问题,方法是将文本拆分成碎片,然后使用=C2&C3&C4&C5
@hipparray将其逐个单元拼接在一起。是的-你也可以使用&
但你不必将文本分割成单个单元格,你也可以使用带字符串的&
例如,分离将有助于任何进一步的审查。此外,您还可以命名您的单元格(例如,MONDAYS
而不是C2
),这可能有助于您进一步了解C2
背后的内容。这个问题已经问了很长时间了,但“=PART()“功能?我在任何地方都找不到它的定义…?@Sancarn:对不起,我猜这是一个糟糕的翻译,它是MID order MIDB:哦,对了(lol)。我真的很惊讶这个功能现在还没有被微软改变。。。
="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&"');"