在Excel中换行

假设有一个报告将费用与输出为excel的调整进行比较,以便每行都有以下字段:

  • 帐号
  • 收费date
  • 原始项目编号
  • 调整项目编号
  • 原始数量
  • 调整的数量
  • 原始金额
  • 调整后的金额
  • 原始发布date
  • 调整后的发布date

我需要帮助用户在Excel中创build一个视图,帮助他们发现每个logging的变化。 她希望它能像这样在两行中显示每条logging:

帐户| date|  O. Item |  O. Qty |  O.金额|  O. Post
          |  |  A.项目|  A.数量|  A.金额| 一个post             

Excel中是否有内容可以将这样的logging分组? 在这种情况下,VBA不是一个选项。

如果帐户和date中的单元格重复这些值,则可以。 如果你可以得到一些交替的行效果,有助于划分每个logging(如果必须的话,我可以在vba中自行完成)。

这有点棘手,但可行。 我正在研究这个,待命。

好的,这个想法是。

您有以下布局:

 / |  A |  B |  C |  D |  F |
 -  + --------- + --------- + --------- + --------- + -------- -  +
 1 |  Acc No. | |  Data1 |  Data1'|  Data2 |  Data2'|
 2 |  1 |  10 |  11 |  a |  b |
 3 |  2 |  100 |  108 |  a |  a |
 4 |  3 |  50 |  55 |  f |  g |

制作第二张表格:

 / |  A |  B |  C |  D |
 -  + ----- + ----- + ----------------------------- + ------ ----------------------- +
 1 |  A / O |  Ref |  Data1 |  Data2 |
 2 |  A |  2 |  = INDIRECT(“Sheet1!B”&$ B2)|  = INDIRECT(“Sheet1!D”&$ B2)|
 3 |  O |  2 |  = INDIRECT(“Sheet1!C”&$ B3)|  = INDIRECT(“Sheet1!E”&$ B3)|
 4 |  A |  3 |  = INDIRECT(“Sheet1!B”&$ B4)|  = INDIRECT(“Sheet1!D”&$ B4)|
 5 |  O |  3 |  = INDIRECT(“Sheet1!C”&$ B5)|  = INDIRECT(“Sheet1!E”&$ B5)|

列“A / 0”和“参考”是手动,在我目前的模型。 可能有办法自动化他们,但我想保持简单。 在Sheet1中填充以覆盖任意长的input表将会起作用。

一个简单的解决方法可能是使用条件格式 (指示Office 2007):

  1. 突出显示“调整”列(假设是D列,原始列C列)
  2. 点击“条件格式”
  3. 点击“新规则…”
  4. 点击最后一项“美国公式来确定哪些单元格式”
  5. inputC1 <> D1
  6. select一种格式化风格。

应用规则,所有不匹配的条目将以您select的样式突出显示。

我也用间接方式做了这个。 我在第二张纸上的公式看起来像这样:

= INDIRECT(“source!A”&INT(ROW()/ 2)+1)

您将硬编码该字母以指示列源,然后计算将自动从正确的行中select。 应该尽可能地复制下来。

我认为这是唯一可能的编程(嘿,这是一个编程相关的网站)。

当VBA不是一个选项时,是否允许使用VB.Net或C#?

条件格式可以同时执行两个任务,因为每个单元最多可以有3个条件

  1. 你可以(比如说)使用红色粗体文本来突出显示不同的单元格,使用这样的validation公式

    例如=(DataA!C8 <> DataB!C8)

  2. 你可以使用像这样的公式replace行(如单元格C8中所用)

    例如=(MOD(CELL(“行”,C8),2)= 0)

这将甚至行阴影。 为了遮蔽奇数行,当然,在公式的结尾使用= 1而不是= 0

几年前,我已经在VBA中完成了这个工作,而且工作得很好,我想你可以在Interop上用C#做同样的事情吗?

我可以告诉添加,删除和更改。 它最终创build一个报告,很容易理清和过滤。

VBA不是一种select的原因吗? 还有什么其他的select?

您也可以使用Excel函数交叉引用数据,但对于不是Excel超级用户的用户而言,这可能相当复杂。 在Excel公式中的一般帮助

编辑:你将需要像查找索引偏移VLookup匹配function,这可以通过组合它们来完成。 唯一的缺点是公式长度有限制。 达到此限制时,将多列或多行的逻辑分开。

编辑:您可以在一个工作簿中整合VBA,并保存模板。 每次他们想比较他们使用这个模板来执行比较。 这种方式不需要部署。 他们只需要复制文件并使用它。

编辑:由Tomalak提出的解决scheme可能无法正常工作,因为当添加或删除logging时,我们无法控制这些logging的位置。 你将需要find一个关键匹配的行,并从那里工作。