Excel单元格中至少有一个列表

时间:2019-06-27 10:43:59

标签: excel excel-formula

努力可视化如何执行以下操作,这是一个单元格公式中计算出的列表的最小值。假设我有一个数据表,名为Sheet1

AAPL, TSCO, APPl 2D diff, APPL 3D diff, TSCO 2D diff, TSCO 3D diff,
10, 20, , ,,,
11, 19, , ,,,
11, 21, =(A4/A2)-1, , =(B4/B2)-1
12, 23, =(A5/A3)-1, =(A5/A2)-1, =(B5/B3)-1, =(B5/B2)-1,
13, 21, =(A6/A4)-1, =(A6/A3)-1, =(B6/B4)-1, =(B6/B3)-1,

因此很容易将这些公式向下拖动(以百分比表示)。我有两者的时间序列,如果我有1个AAPL和1个TSCO,则可以分享其完美时机。然后,我想要的只是2D差异的最小值和3D差异的最小值,可通过=MIN(C:C)=MIN(D:D)

轻松获得

但是,可以说我想这样改变权重(Sheet2)。因此,我必须回到sheet1,然后权衡2d差和3d差,每次都改变权重,即如果我们对2D差取第一权重5 + 100,我必须做一个第七列使用公式=5*C4+100*D4,然后必须键入=MIN(G:G)才能找到它,这是我可以在一个单元格中完成此操作的一种方法吗?

AAPL Weight, TSCO Weight, min 2D diff, min 3d diff
5,100,,
50,70,,
80,75,,

然后针对该表中的每个不同的权重,我现在手动进行操作。有没有办法我可以校准

1 个答案:

答案 0 :(得分:0)

Sheet1更改为Sheet2。我用所述加权公式预先准备了列,然后只是更改了每个赛尔的加权。以下代码ID对我有用:

Sub Cycle_Through_Weights()

Dim i As Integer

For i = 4 To 23:
    Sheets("Sheet4").Select
    Range("A" & i & ":B" & i).Select
    Selection.Copy
    Sheets("Sheet3").Select
    Range("E3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E4").Select
    Application.CutCopyMode = False

    ActiveSheet.Calculate
    ActiveSheet.Calculate

    Sheets("Sheet4").Select
    Range("A" & i & ":B" & i).Select
    Selection.Copy
    Sheets("Sheet3").Select
    Range("W2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True

    Sheets("Sheet3").Select
    ActiveSheet.Calculate
    ActiveSheet.Calculate

    Sheets("Sheet3").Select
    Range("X7:Y7").Select

    Selection.Copy
    Sheets("Sheet4").Select
    Range("C" & i).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("C" & i).Select
    Application.CutCopyMode = False

    Next i
End Sub