我正在使用最新的Excel。
我有这样的结构:
| ID | Day | Value | Day | Value | Day | Value.............| Day | Value |
1 val val val val
2 val val val val
3 val val val val
我需要数据看起来像这样
| ID | Day | Value | Day | Value | Day | Value.............| Day | Value |
1 1 val 2 val 3 val N val
2 1 val 2 val 3 val N val
3 1 val 2 val 3 val N val
基本上我需要转到第一天列并为所有ID添加1,然后转到第二天列并按1递增并为所有ID写入2。这将是重复的。手动我可以通过放1然后向下拖动,放2并向下拖动来做到这一点。问题是我有几千天的列,所以这将是非常耗时的。有没有自动化的方法来完成这项任务?
答案 0 :(得分:1)
不是自动化但很快。假设/* Create a table type. */
CREATE TYPE MyTableType AS TABLE
( Column1 VARCHAR(50)
, ........ );
GO
/* Create a procedure to receive data for the table-valued parameter. */
CREATE PROCEDURE dbo. ValidateInputXML
@TVP MyTableType READONLY
AS
-- Do what ever you want to do with the table received from caller
GO
/* Declare a variable that references the type. */
DECLARE @myTable AS MyTableType;
-- Fill @myTable with data and send it to SP.
insert into @myTable SELECT * FROM @tmpInput TI WHERE TI.EntryType = 'Attribute';
/* Pass the table variable data to a stored procedure. */
EXEC ValidateInputXML @myTable ;
GO
在A1中。添加一行(比如Row1),其中包含Row2的系列填充和排序列。系列为ID
填充Row3列并向下复制以适应。按行排序列并删除Row1。
答案 1 :(得分:1)
这是您可以使用的VBA代码(替换LastRow和LastCol的适当值):
columns.data