(Excel 2013) 在不超过特定字符限制的情况下组合两个单元格值
(Excel 2013) Combining two cell value without exceeding certain characters limit
我试图用 excel 公式解决这个问题,但它太复杂了,因为我需要工作簿中的公式较少。所以我转向 VBA 寻求帮助。到目前为止,我发现的所有 VBA 主要用于 trim 单单元格字符。
我的项目需要如下:
A1-Name
B1-Colour
C1-Name(Colour)
如果 LEN(C1) 小于 81 则什么都不是 trim。否则,TRIM 仅 A1 不改变 B1,所以最终结果是 LEN(C1) 总是小于 81。
谢谢。
编辑:
Excel Screenshot 1
我试过的是:
-我将在单元格 AA2 中的 B2 上执行 "len",然后在单元格 AB2 中的 C2 上执行另一个 "len"。
- 然后我在单元格 D2 中合并 B2 和 C2。
- 为单元格 E2 中的单元格 D2 再做一个 "len"。
-如果 E2 中的值超过 80,那么我必须对单元格 B2 执行 "right" 另一个 cell.The 将从单元格 B2 中扣除的值是 AA2-80+AB2。
-完成后,新的 trim B2 将与另一个单元格中的 C2 重新组合。
新单元格太多了。如您所见,我必须隐藏一些构成单元格 F2 内部内容的单元格。所以我在这里。用那封信 "E" 照亮聚光灯,这样 Excelman 就会前来救援。
一个非常简单的 Excel 公式可以满足您的需求
=LEFT(A1,MAX(0,78-LEN(B1))) & "(" & B1 & ")"
即从 A1 中取出尽可能多的字符,以便在连接到 "("&B1&")"
时总数不会超过 80 个字符,然后将其连接到 "("&B1&")"
.
注意:以上公式中的单元格引用基于您的原始问题。根据屏幕截图和对您问题的编辑,公式为:
=LEFT(B2,MAX(0,78-LEN(C2))) & "(" & C2 & ")"
如果您确实需要 VBA,您可以使用相同的函数(即 Left
和 Len
)和相同的运算符(即 -
和 &
) 在 VBA 中与在 Excel 中使用的一样。唯一的问题是 MAX
,需要将其替换为 Application.Max
或 If
语句。
我试图用 excel 公式解决这个问题,但它太复杂了,因为我需要工作簿中的公式较少。所以我转向 VBA 寻求帮助。到目前为止,我发现的所有 VBA 主要用于 trim 单单元格字符。
我的项目需要如下:
A1-Name
B1-Colour
C1-Name(Colour)
如果 LEN(C1) 小于 81 则什么都不是 trim。否则,TRIM 仅 A1 不改变 B1,所以最终结果是 LEN(C1) 总是小于 81。
谢谢。
编辑: Excel Screenshot 1
我试过的是:
-我将在单元格 AA2 中的 B2 上执行 "len",然后在单元格 AB2 中的 C2 上执行另一个 "len"。
- 然后我在单元格 D2 中合并 B2 和 C2。
- 为单元格 E2 中的单元格 D2 再做一个 "len"。
-如果 E2 中的值超过 80,那么我必须对单元格 B2 执行 "right" 另一个 cell.The 将从单元格 B2 中扣除的值是 AA2-80+AB2。
-完成后,新的 trim B2 将与另一个单元格中的 C2 重新组合。
新单元格太多了。如您所见,我必须隐藏一些构成单元格 F2 内部内容的单元格。所以我在这里。用那封信 "E" 照亮聚光灯,这样 Excelman 就会前来救援。
一个非常简单的 Excel 公式可以满足您的需求
=LEFT(A1,MAX(0,78-LEN(B1))) & "(" & B1 & ")"
即从 A1 中取出尽可能多的字符,以便在连接到 "("&B1&")"
时总数不会超过 80 个字符,然后将其连接到 "("&B1&")"
.
注意:以上公式中的单元格引用基于您的原始问题。根据屏幕截图和对您问题的编辑,公式为:
=LEFT(B2,MAX(0,78-LEN(C2))) & "(" & C2 & ")"
如果您确实需要 VBA,您可以使用相同的函数(即 Left
和 Len
)和相同的运算符(即 -
和 &
) 在 VBA 中与在 Excel 中使用的一样。唯一的问题是 MAX
,需要将其替换为 Application.Max
或 If
语句。