我是论坛新手,如果有人能提供帮助我将不胜感激。
我使用的是 Excel 2013。我有 5 组列;每组都包含一个时间列和一个价格列。但是,这 5 组中的 5 个单独的时间列不匹配,即日期不连续(每组中都有不同的时间间隔),并且它们从不同的起始日期开始。
我想做两件事,第二件事是可选的(因为我认为 Excel 无法实现)。
(1)插入一个新列集,左侧为常见日期(从时间 1 到时间 5 的常见日期/条目),右侧为价格 1-5。例如(请注意,日期不是连续的):
Common Date Price 1 Price 2 Price 3 Price 4 Price 5
20010304 938 33 988 5532 5732
20010308 25 23325 2358 664 8798
20010309 677 3 234 32423 234
20010311 9835 32434 3529 352 392
20010314 498 4534 43398 945 495483
(2) 这与 (1) 有很大不同;使日期列连续。也就是说,通过显示空白/中断日期来包括非常见日期。例如(请注意,日期是连续的,没有中断,甚至没有周末):
Date Price 1 Price 2 Price 3 Price 4 Price 5
20010304
20010305
20010306 677 3
20010307
20010308 234
20010309 9845 234
20010310 32423
20010311 43435
20010312 234 324
20010313
20010314 898
仅供参考,我尝试过IF(COUNTIF())
公式;它们只是对同一行中的常见条目进行排序。我乱搞了一番VLOOKUP
,太笨了,搞不清事情,也是一样INDEX/MATCH
。也许解决方案在数据透视表或 VBA 中,而我对此一无所知。
答案1
如果我理解正确的话,您有一个交替时间和价格的数据布局,其中时间实际上是一个代表 yyyymmdd 的数字。
选项 2 实际上非常简单。确定最小的“时间”值并将其放入单元格中。在其下方的单元格中,将该时间值增加一天。然后选择两个单元格并向下拖动填充柄。Excel 将继续自动增加值,最终您将得到一个连续日期列表。(您也可以使用类似于 =A1+1 的公式并将其向下拖动)
接下来的五列将保存价格值,并将使用公式查找它们。以下是该场景的屏幕截图:
连续的时间值从单元格 A13 开始。单元格 B13 具有以下公式:
=IFERROR(VLOOKUP($A13,dataset1,2,0),"")
“dataset1” 是我分配给单元格 A1 至 B6 的范围名称,但您可以改用直接单元格引用 $A$1:$B$6。我还为其他数据集创建了范围名称,即“dataset2”、“dataset3”等。单元格 C13 中的公式为
=IFERROR(VLOOKUP($A13,dataset2,2,0),"")
有了范围名称,我只需要调整数据集的数量,然后将公式复制下来。