公式中的文本值限制为255个字符,以在公式中创建更长的文本值 [英] Text values in formulas are limited to 255 characters to create longer text values in formula

查看:1213
本文介绍了公式中的文本值限制为255个字符,以在公式中创建更长的文本值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Excel工作表中插入一些大值,但是它给出了错误.

I want to insert some big value in an excel sheet, but its is giving error.

错误

公式中的文本值限制为255个字符.创建文字 公式中较长的值​​,请使用CONCATENATE 函数或串联运算符(&).

Text values in formulas are limited to 255 characters. To create text values longer in a formula, use the CONCATENATE function or the concatenation operator (&).

=CONCATENATE("BEGIN TRY 
    BEGIN TRANSACTION 

    BEGIN --User defined values   
        DECLARE @FieldName NVARCHAR(100) = '",F2,"'; 
        DECLARE @Currencycode VARCHAR(3) = '",A2,"'; 
        DECLARE @Countrycode VARCHAR(2) = '",B2,"'; 
        DECLARE @RuleType NVARCHAR(100) = 'CannotContainSpecialCharOtherThan'; 
        DECLARE @RuleValue INT = 0; 
        DECLARE @InsFieldTypeDesc NVARCHAR(50) = 'AnyType';
        DECLARE @RuleValueAlpha NVARCHAR(4000) = '/: (),.''-?+'; 
        DECLARE @ErrMsg NVARCHAR(500) = '",N2,"'; 
        DECLARE @ErrCode NVARCHAR(10) = '",M2,"'; 
        DECLARE @ErrPrior TINYINT = '",L2,"'; 
        DECLARE @IsLength INT = 0; ---if length is there then set this 1 or 0  
        DECLARE @DependantOn NVARCHAR(100) = NULL 
    END 

    BEGIN --Consts     
        DECLARE @UTCTime DATETIME = Getutcdate(); 
        DECLARE @CTTime DATETIME = Dateadd(hour, -5, Getutcdate()); 
    END 

    DECLARE @FieldRuleConfigPk INT; 
    DECLARE @ErrorMsgpk INT; 
    DECLARE @countryfk INT; 
    DECLARE @Fieldnamefk INT; 
    DECLARE @InsFieldTypeFk INT;
    DECLARE @RuleValue1 INT = 0; 
    DECLARE @RuleValue2 INT = 19; 
    DECLARE @RuleValue3 INT = 19; 
    DECLARE @RuleTypeFk INT; 
    DECLARE @ErrorFk INT; 
    DECLARE @IsOk INT = 0 

    PRINT( 'Starts script' ) 

    BEGIN --INIT   
        SET @countryfk = (SELECT countrypk 
                          FROM   mas_country 
                          WHERE  countrycode = @Countrycode); 
        SET @Fieldnamefk = (SELECT fieldnamepk 
                            FROM   mas_fieldname 
                            WHERE  fieldname = @FieldName); 
        SET @InsFieldTypeFk = (SELECT instructionfieldtypepk 
                               FROM   mas_instructionfieldtype 
                               WHERE  fieldtypedesc = @InsFieldTypeDesc); 
    END 

    IF NOT EXISTS (SELECT 1 
                   FROM   mas_fieldruleconfig 
                   WHERE  currencycode = @Currencycode 
                          AND countryfk = @countryfk 
                          AND fieldnamefk = @Fieldnamefk) 
      BEGIN 
          INSERT INTO mas_fieldruleconfig 
                      (currencycode, 
                       countryfk, 
                       fieldnamefk, 
                       instructionfieldtypefk, 
                       createddateutc, 
                       createddatect) 
          VALUES      ( @Currencycode, 
                        @countryfk, 
                        @Fieldnamefk, 
                        @InsFieldTypeFk, 
                        @UTCTime, 
                        @CTTime ) 

          SELECT @FieldRuleConfigPk = Scope_identity(); 

          SET @IsOk = 1 

          PRINT( 'mas_fieldruleconfig insert success' ) 
      END 
    ELSE 
      BEGIN 
          SELECT @FieldRuleConfigPk = fieldruleconfigpk 
          FROM   mas_fieldruleconfig 
          WHERE  currencycode = @Currencycode 
                 AND countryfk = @countryfk 
                 AND fieldnamefk = @Fieldnamefk 

          PRINT( 'mas_fieldruleconfig setting already exists' ) 
      END 

    IF NOT EXISTS (SELECT 1 
                   FROM   mas_ruletype 
                   WHERE  ruletype = @RuleType 
                          AND fieldruleconfigfk = @FieldRuleConfigPk 
                          --Need to add this check, otherwise it will fail   
                          AND rulevalue = @RuleValue --Not needed    
                          AND rulevaluealphanumeric = @RuleValueAlpha) 
      --Not needed   
      BEGIN 
          INSERT INTO mas_ruletype 
                      (ruletype, 
                       fieldruleconfigfk, 
                       rulevalue, 
                       rulevaluealphanumeric, 
                       createddateutc, 
                       createddatect, 
                       dependanton) 
          VALUES      ( @RuleType, 
                        @FieldRuleConfigPk, 
                        @RuleValue, 
                        @RuleValueAlpha, 
                        @UTCTime, 
                        @CTTime, 
                        @DependantOn) 

          SELECT @RuleTypeFk = Scope_identity(); 

          SET @IsOk = 1 

          PRINT( 'mas_ruletype insert success' ) 

      END 
    ELSE 
      BEGIN 
          SELECT @RuleTypeFk = (SELECT ruletypepk 
                                FROM   mas_ruletype 
                                WHERE  ruletype = @RuleType 
                                       AND fieldruleconfigfk = 
                                           @FieldRuleConfigPk 
                                       --Need to add this check, otherwise it will fail   
                                       AND rulevalue = @RuleValue 
                                       --Not needed    
                                       AND rulevaluealphanumeric = 
                                           @RuleValueAlpha) 

          PRINT( 'mas_ruletype settings already exists' ) 
      END 

    IF NOT EXISTS (SELECT 1 
                   FROM   mas_errormessage 
                   WHERE  errormessage = @ErrMsg) 
      BEGIN 
          INSERT INTO mas_errormessage 
                      (errormessage, 
                       createddateutc, 
                       createddatect) 
          VALUES      ( @ErrMsg, 
                        @UTCTime, 
                        @CTTime ) 

          SELECT @ErrorMsgpk = Scope_identity() 

          SET @IsOk = 1 

          PRINT( 'mas_errmsg insert success' ) 
      END 
    ELSE 
      BEGIN 
          SELECT @ErrorMsgpk = errormessagepk 
          FROM   mas_errormessage 
          WHERE  errormessage = @ErrMsg 

          PRINT( 'mas_errormsg settings already exists' ) 
      END 

    IF NOT EXISTS (SELECT 1 
                   FROM   mas_error 
                   WHERE  fieldnamefk = @Fieldnamefk 
                          AND errorcode = @ErrCode) 
      BEGIN 
          INSERT INTO mas_error 
                      (fieldnamefk, 
                       errorcode, 
                       errorpriority, 
                       errormessagefk, 
                       createddateutc, 
                       createddatect) 
          VALUES      ( @Fieldnamefk, 
                        @ErrCode, 
                        @ErrPrior, 
                        @ErrorMsgpk, 
                        @UTCTime, 
                        @CTTime ) 

          SELECT @ErrorFk = Scope_identity(); 

          SET @IsOk = 1 

          PRINT( 'mas_error insert success' ) 
      END 
    ELSE 
      BEGIN 
          SELECT @ErrorFk = (SELECT errorpk 
                             FROM   mas_error 
                             WHERE  fieldnamefk = @Fieldnamefk 
                                    AND errorcode = @ErrCode); 

          PRINT( 'Mas_Error settings already exists' ) 
      END 

    IF NOT EXISTS (SELECT 1 
                   FROM   [lnk_fieldruleerror] 
                   WHERE  [fieldruleconfigfk] = @FieldRuleConfigPk 
                          AND [fieldnamefk] = @Fieldnamefk 
                          AND [ruletypefk] = @RuleTypeFk 
                          AND @ErrorFk = @ErrorFk) 
      BEGIN 
          INSERT INTO [dbo].[lnk_fieldruleerror] 
                      ([fieldruleconfigfk], 
                       [fieldnamefk], 
                       [ruletypefk], 
                       [errorfk]) 
          VALUES      (@FieldRuleConfigPk, 
                       @Fieldnamefk, 
                       @RuleTypeFk, 
                       @ErrorFk) 
      END 

    IF @IsOk = 1 
      BEGIN 
          COMMIT TRANSACTION 

          PRINT( 'commit' ) 
      END 
END TRY 

BEGIN CATCH 
    PRINT 'Error' 

    PRINT ( 'Rollback' ) 

    ROLLBACK TRANSACTION; 
END CATCH")

我已经关注了链接,但找不到解决方案

I have followed this link also but could not find solution.

推荐答案

我已经解决了以下问题:将值拆分为多个单元格,然后将它们合并为新的单元格,例如=A2&" "&B2

I have solved by splitting the value into multiple cells and merging these into a new cell like this =A2&" "&B2

这篇关于公式中的文本值限制为255个字符,以在公式中创建更长的文本值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆