Excel精英培训网

 找回密码
 注册
查看: 9645|回复: 19

练习题

[复制链接]
发表于 2015-4-19 11:02 | 显示全部楼层 |阅读模式
本帖最后由 JLxiangwei 于 2015-4-25 10:14 编辑

皆さん:

小题一道,请笑纳!

附件在二楼

练习题.zip

9.31 KB, 下载次数: 293

评分

参与人数 6 +53 金币 +40 收起 理由
sry660 + 3 赞一个!
lanyefeihong + 1 不会做~~
Excel学徒123 + 6 神马都是浮云
神隐汀渚 + 3 老乡老乡好好
xdragon + 20 赞一个!

查看全部评分

excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
 楼主| 发表于 2015-4-19 11:05 | 显示全部楼层
一楼传不了附件,就放二楼吧{:3912:}

练习题.zip

9.31 KB, 下载次数: 91

评分

参与人数 1 +6 收起 理由
心正意诚身修 + 6 锁哥,好久不见。辛苦了。

查看全部评分

回复

使用道具 举报

发表于 2015-4-19 15:18 | 显示全部楼层
弟子不才,不会SQL

A016-郭郭嗯.zip

12.14 KB, 下载次数: 14

评分

参与人数 1 +5 金币 +5 收起 理由
JLxiangwei + 5 + 5 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-4-19 15:25 | 显示全部楼层
本帖最后由 ys19840718 于 2015-4-20 11:38 编辑

SQL不会,先上无脑公式
  1. =LOOKUP(ROW(1:35),SUBTOTAL(9,OFFSET(C1,,,ROW(1:6)))+1,A2:A7)*{1,1,0}+(ROW(1:35)-LOOKUP(ROW(1:35),SUBTOTAL(9,OFFSET(C1,,,ROW(1:6)))+1,SUBTOTAL(9,OFFSET(C1,,,ROW(1:6)))+1))*{0,1,0}+LOOKUP(ROW(1:35),SUBTOTAL(9,OFFSET(C1,,,ROW(1:6)))+1,B2:B7)/LOOKUP(ROW(1:35),SUBTOTAL(9,OFFSET($C$1,,,ROW(1:6)))+1,C2:C7)*{0,0,1}
复制代码
VBA
  1. Sub test()

  2. Dim arr
  3. Dim dic As Object
  4. Dim i As Long, j As Long
  5. Dim t As Double

  6. t = Timer
  7. Set dic = CreateObject("Scripting.Dictionary")

  8. With Worksheets("题目")
  9.     arr = .Range("a1").CurrentRegion
  10.     For i = 2 To UBound(arr)
  11.         For j = 1 To arr(i, 3)
  12.             dic(arr(i, 1) & "|" & arr(i, 1) + j - 1 & "|" & arr(i, 2) / arr(i, 3)) = ""
  13.         Next
  14.     Next

  15.     Erase arr
  16.     arr = dic.keys
  17.     .Range(.Cells(2, 6), .Cells(.Cells(.Rows.Count, 8).End(xlUp).Row, 8)).ClearContents

  18.     Application.ScreenUpdating = False
  19.     For i = 0 To UBound(arr)
  20.         .Range("F" & i + 2).Resize(, 3) = VBA.Split(arr(i), "|")
  21.     Next
  22.     Application.ScreenUpdating = True
  23. End With

  24. Debug.Print Timer - t

  25. End Sub
复制代码

评分

参与人数 1 +10 金币 +10 收起 理由
JLxiangwei + 10 + 10 强大的函数啊,看不懂了

查看全部评分

回复

使用道具 举报

发表于 2015-4-19 16:20 | 显示全部楼层
说真的,我看了三个小时都没看懂题目要求
回复

使用道具 举报

发表于 2015-4-20 11:29 | 显示全部楼层
SQL不会,VBA答案,锁哥多多指教。

练习题.rar

18.64 KB, 下载次数: 6

评分

参与人数 1 +5 金币 +5 收起 理由
JLxiangwei + 5 + 5 vba解法,赞一个!

查看全部评分

回复

使用道具 举报

发表于 2015-4-20 11:40 | 显示全部楼层
本帖最后由 Excel学徒123 于 2015-4-20 11:42 编辑
  1. Sub test()
  2.     Dim arr, brr()
  3.     Dim Ir As Integer, n As Byte
  4.     Dim Icount As Integer
  5.     Dim Ibr As Integer
  6.     arr = Range("a1").CurrentRegion
  7.     ReDim brr(1 To Application.WorksheetFunction.Sum(Range("c:c")), 1 To 3)
  8.         For Ir = 2 To UBound(arr)
  9.             For Icount = 1 To arr(Ir, 3)
  10.                 Ibr = Ibr + 1
  11.                 n = n + 1
  12.                 brr(Ibr, 1) = arr(Ir, 1)
  13.                 brr(Ibr, 2) = brr(Ibr, 1) + n - 1
  14.                 brr(Ibr, 3) = arr(Ir, 2) / arr(Ir, 3)
  15.             Next
  16.             n = 0
  17.         Next
  18.     [f2].Resize(UBound(brr), 3) = brr
  19. End Sub
复制代码
交答案咯~~~~,请老师审查哦~~~~{:02:}

评分

参与人数 1 +5 金币 +5 收起 理由
JLxiangwei + 5 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-4-20 12:27 | 显示全部楼层
vba 法:
  1. Sub test()
  2.     Dim arr, brr(100, 1 To 3), i%, j%, n%
  3.     arr = [a1].CurrentRegion
  4.     For i = 2 To UBound(arr)
  5.         For j = 1 To arr(i, 3)
  6.             n = n + 1
  7.             brr(n, 1) = arr(i, 1)
  8.             brr(n, 2) = arr(i, 1) + j + (arr(i, 3) <> 8) '为了跟示例一致,多加了一个判断
  9.             brr(n, 3) = arr(i, 2) / arr(i, 3)
  10.         Next
  11.     Next
  12.     brr(0, 1) = "预订日期"
  13.     brr(0, 2) = "使用日期"
  14.     brr(0, 3) = "金额"
  15.     [j1].Resize(n + 1, 3) = brr
  16.     [j1].CurrentRegion.Borders.LineStyle = xlContinuous
  17. End Sub
复制代码
练习题.rar (16.16 KB, 下载次数: 3)

评分

参与人数 1 +5 金币 +5 收起 理由
JLxiangwei + 5 + 5 很给力!

查看全部评分

回复

使用道具 举报

发表于 2015-4-20 13:54 | 显示全部楼层
本帖最后由 MCQUEEN 于 2015-4-21 11:20 编辑

练习题-D09-MCQUEEN.zip (44.16 KB, 下载次数: 47)

点评

看了半天没明白怎么做出来了,太强大了  发表于 2015-5-1 17:23

评分

参与人数 3 +33 金币 +15 收起 理由
cbg2008 + 15 很给力!
cg372101 + 3 太强了!
JLxiangwei + 15 + 15 女王V5678

查看全部评分

回复

使用道具 举报

发表于 2015-4-20 16:58 | 显示全部楼层
{:22:}只会函数  SQL想不出来~  先占个座
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-3-29 22:57 , Processed in 0.457465 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表