作业帮 > 数学 > 作业

如图:在E列输入一公式表示:C列数组中含有1和5,或2和6(或者15,26均含有也算)的数组对应序号之差.

来源:学生作业帮 编辑:神马作文网作业帮 分类:数学作业 时间:2024/11/17 07:05:41
如图:在E列输入一公式表示:C列数组中含有1和5,或2和6(或者15,26均含有也算)的数组对应序号之差.
如图:在E列输入一公式表示:C列数组中含有1和5,或2和6(或者15,26均含有也算)的数组对应序号之差.
5号是不是2而不是1?
再问: 对不起,重新解释如下: 1,1和5必须同时存在,1,5不分先后顺序,如序号3对应的数字串1153,序号7对应的5123。 2,或者2,6同时存在,如序号1对应的2876,序号10对应的2262. 3,或者同时含有1,5和2,6,如序号6对应的1265. 4,不难发现,序号1至14对应的数字串里满足条件的序号是:1,3,6,7,9,10,11 5,现在要在E列输入一公式,公式下拉后得到的数字:2,3,1,2,1,1.表示满足以上1,2,3条件的相邻数字串对应序号之差。
再答: Option Explicit Sub 交互版() Dim arr, i%, RangA As Range, RangB As Range, j%, k%, ko% Set RangA = Application.InputBox(prompt:="请选择原始数据的区域", Type:=8) 'Set RangA = Range("b2:c18") Set RangB = Application.InputBox(prompt:="请选择目标数据的左上角。" & vbCrLf & "右下方数据将被覆盖!", Type:=8) 'Set RangB = Range("e2"): j = 0: k = 0 arr = RangA For i = 1 To UBound(arr) If InStr(1, arr(i, 2), "1") > 0 And InStr(1, arr(i, 2), "5") > 0 Then k = arr(i, 1) If InStr(1, arr(i, 2), "2") > 0 And InStr(1, arr(i, 2), "6") > 0 Then k = arr(i, 1) If k > 0 Then Exit For Next i: ko = k: k = 0 For i = i + 1 To UBound(arr) If InStr(1, arr(i, 2), "1") > 0 And InStr(1, arr(i, 2), "5") > 0 Then k = arr(i, 1) If InStr(1, arr(i, 2), "2") > 0 And InStr(1, arr(i, 2), "6") > 0 Then k = arr(i, 1) If k > 0 Then RangB.Offset(j, 0) = k - ko: ko = k: j = j + 1: k = 0 Next i End Sub