下面再举一个例子,如下图1所示。
图1
对单元格H3设置数据有效性如下图2所示。
excel公式中用特定构造代替常量数组
在有些情形下,公式中不能直接显式使用数组常量。当然,可以将这些数组常量存储在定义的名称中,然后在公式中引用。这里所要求的公式非常简单,可生成下面的结果: {-1;1} 要求:引用的单元格区域必须同时包含行和列,不能只是行(如1:2)或只是列(如A:B);不能使用名称;公式使用的字符数最少。 先不看答案,自已动手试
图2
在形状所在的工作表模块中,输入代码:
Private Sub Worksheet_Change(ByVal Target As Range) On Error GoTo errHandler Dim sh As Shape Dim myColor As Long Dim lAdj As Long Set sh = Shapes(“Partial Circle 1”) If Target.Address = “$H$3″ Then Application.EnableEvents = False sh.Adjustments.Item(1) = 0 Select Case Target.Value Case 0: lAdj = 0 Case Else: lAdj = -(360 – (360 * Target.Value)) End Select sh.Adjustments.Item(2) = lAdj ‘修改形状颜色 Select Case Target.Value Case Is >= 0.85: myColor _ = RGB(169, 208, 142) ‘绿色 Case Is >= 0.75: myColor _ = RGB(255, 255, 0) ‘黄色 Case Is >= 0.5: myColor _ = RGB(255, 192, 0) ‘橙色 Case Else: myColor _ = RGB(255, 0, 0) ‘红色 End Select sh.Fill.ForeColor.RGB = myColor End If exitHandler: Application.EnableEvents = True Exit Sub errHandler: MsgBox Err.Number & ” ” &Err.Description GoTo exitHandlerEnd Sub
我们可以添加一小段代码,让这个图动起来,如下图3所示。
图3
excel表格区域内填充不重复的随机整数
本文分享一个基于公式生成n×n随机整数的解决方案,并且每个整数都是唯一的。例如,下图1显示了生成10行10列的不重复随机整数。 图1 解决方案 在单元格A1中输入数组公式: =SMALL(IF(FREQUENCY(($A2:$J$11,B1:$K1),ROW(INDIRECT('1:99'))-1)=0,ROW