使用单元格引用粘贴公式时创建自定义单元格增量

时间:2012-09-24 04:25:15

标签: sql excel excel-formula

我有一份关于客户回答一组问题的报告,评分为1-5。这是当前表:(左上角的字母和数字仅代表单元格,不包含在数据中)

  A     B    C   D   E
1 Name  Age  Q1  Q2  Q3
2 John  19   5   4   5
3 Bob   18   3   2   5
4 Jess  20   3   5   4

如何获取单元格并显示如下值:

  A     B   C   D
1 John  19  Q1  5
2 John  19  Q2  4
3 John  19  Q3  5
4 Bob   18  Q1  3
5 Bob   18  Q2  2
6 Bob   18  Q4  5
7 Jess  20  Q1  3
8 Jess  20  Q2  5
9 Jess  20  Q3  4

如何在使用单元格引用粘贴公式时创建自定义单元格增量?

我的公式:

  

="INSERT into tableName Values ('" & A 2& "', " & B2 & ", " & C1 & ", " &C2& "); INSERT into tableName Values ('" & A2 & "', " & B2 & ", " & D1 & ", " &D2& "); INSERT into tableName Values ('" & A2 & "', " & B2 & ", " & E1 & ", " &E2& ");"

公式值:

  

INSERT into tableName Values ('John, 19, Q1, 5'); INSERT into tableName Values ('John', 19, Q2, 4); INSERT into tableName Values ('John', 19, Q3, 5);

我必须将其粘贴以获得所有名称的Q1,Q2和Q3。问题是当我将公式粘贴到下一行时,它只会将单元格引用增加一行..

2 个答案:

答案 0 :(得分:1)

在这种情况下,

Offset是你的恶魔

将您的示例数据放在sheet1中,并将这些公式放在Sheet2 ...

A1: =OFFSET(Sheet1!$A$1,INT(ROW()-1)/3+1,0)
A2: =OFFSET(Sheet1!$B$1,INT(ROW()-1)/3+1,0)
A3: =OFFSET(Sheet1!$C$1,0,MOD((ROW()-1),3))
A4: =OFFSET(Sheet1!$C$1,INT(ROW()-1)/3+1,MOD((ROW()-1),3))

将这些复制到第9行,您将在第二个表中看到该数据

INT(ROW()-1)/3+1将从1增加,但每3行增加一次 MOD((ROW()-1),3)按行顺序返回0,1和2

答案 1 :(得分:0)

我在其他网站上看到了一些答案。如果您不想在公式中增加特定单元格,只需转到公式并突出显示您不想增加的单元格,然后按F4。

按F4将循环显示可能的动态/绝对组合:

  1. A1;专栏&行动态
  2. $ A $ 1;专栏&绝对行
  3. A $ 1;列动态,行绝对
  4. $ A1;列绝对,行动态