佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: woodstock_05

Excel 技巧搜集区 “实用篇”

  [复制链接]
发表于 23-2-2011 03:44 PM | 显示全部楼层
本帖最后由 dugong 于 23-2-2011 03:47 PM 编辑

希望大家可以为我解答。

我需要在Price Factor的datasheet里头的B27(或以下)的阁子输入我的产品名字,然后显示出我需要的资料。我的资料来源是RC 2010,也是属于同一个file内,但是在不同的datasheet。我的资料库来自RC 2010的A3及以下,可能直到A1003。

我的资料取至"RC 2010" (short form = RC) 然后转移至 " Price Factor" (short form = PF)

- Ax of RC 要出现在 By of PF
- Bx of RC 要出现在 Cy of PF
- Cx of RC 要出现在 Dy of PF
- Dx of RC 要出现在 Ey of PF
- Ex of RC 要出现在 Fy of PF
- Fx of RC 要出现在 Gy of PF

注:
x是个可变动数目,从3开始到1003
y是个可变动数目,从27开始到1027

我的问题可能跟Alex Cheong很接近,我会参考他的解决方案,也请大家可以帮看看,因为我的formula不太会写,不太会link过去其他的datasheet。在此感谢各位!
回复

使用道具 举报


ADVERTISEMENT

发表于 23-2-2011 04:13 PM | 显示全部楼层
问题的第二部分

Gy of PF是我的价钱,我需要乘于一个单位(好几个单位里其中一个单位),然后显示在Iy of PF。[y可以是任何一个号码从27到1000]

举例:
G27的数目乘于一个单位然后答案显示在 I27。
G28的数目乘于一个单位然后答案显示在 I28。
G29的数目乘于一个单位然后答案显示在 I29。


单位有分类成好几个,以颜色区分。比方:1.50(红),1.55(蓝),1.60(青)。

如果B27输入的产品属于红色,那么G27的数目将乘于1.50,然后显示在I27。

如果B28输入的产品属于青色,那么G28的数目将乘于1.60,然后显示在I28。

Sekian, terima kasih.
回复

使用道具 举报

发表于 26-2-2011 11:04 PM | 显示全部楼层
请问为何 Delete 部分会不对 ???Delete “空” 时)
     Dim D As Variant
     For D = 7 To [R65536].End(xlUp).Row
     If Cells(D, "R") = "" Then Rows(D).Delete shift:=xlShiftUp
     If Cells(D, "CT") = 0 Then Rows(D).Delete shift:=xlShiftUp
     If Cells(D, "CU") <> "" Then Cells(D, "CU").ClearContents
     Next
回复

使用道具 举报

发表于 28-2-2011 03:19 PM | 显示全部楼层
请问为何 Delete 的部分会不对 ???(Delete “空” 时)
     Dim D As Variant
     For D = 7 To [R ...
发糕 发表于 26-2-2011 11:04 PM


因为。。。
比如:cells(8,R),cells(9,R),cells(10,R)为空格
当你的D = 8,你的程序会delete rows 8,
那个时候,rows 9 就会跳上来变成新的rows 8,
你的程序接下去时会skip掉原本的rows 9 (新的rows 8)而直接去到新的rows 9(旧的rows 10)。。。

这种情况,通常我会放弃用For...Next,我会使用Do until ... Loop 从最下面的row开始向上跑
回复

使用道具 举报

发表于 28-2-2011 03:41 PM | 显示全部楼层
希望大家可以为我解答。

我需要在Price Factor的datasheet里头的B27(或以下)的阁子输入我的产品名字 ...
dugong 发表于 23-2-2011 03:44 PM


请参考#8
回复

使用道具 举报

发表于 28-2-2011 09:51 PM | 显示全部楼层
回复 44# kiam06


这一段不是从下至上吗?

For D = 7 To [R65536].End(xlUp).Row  



Do until Loop  可以用了,谢谢你 。

回复

使用道具 举报

Follow Us
发表于 28-2-2011 10:13 PM | 显示全部楼层
回复  kiam06


这一段不是从下至上吗?For D = 7 To [R65536].End(xlUp).Row  

Do until Loop  可 ...
发糕 发表于 28-2-2011 09:51 PM


不是。。。
那个end(xlup)是指R65536以上不是空格的
整句是从7到最后一格
回复

使用道具 举报

发表于 4-3-2011 11:31 AM | 显示全部楼层
本帖最后由 发糕 于 4-3-2011 11:33 AM 编辑

回复 44# kiam06


   找到方法了。

     Dim D As Variant               For D = 3000 To 7 Step -1
     If Cells(D, "R") = "" Then Rows(D).Delete shift:=xlShiftUp
     If Cells(D, "CT") = 0 Then Rows(D).Delete shift:=xlShiftUp
     If Cells(D, "CU") <> "" Then Cells(D, "CU").ClearContents
     Next


     谢谢你。
回复

使用道具 举报


ADVERTISEMENT

发表于 4-3-2011 11:33 AM | 显示全部楼层
回复  kiam06


   找到方法了。

     Dim D As Variant          For D = 3000 To 7 Step -1
     ...
发糕 发表于 4-3-2011 11:31 AM


也是可以啦。。。
那个3000 改成  [R65536].End(xlUp).Row  就可以拿到最后一行了
回复

使用道具 举报

发表于 4-3-2011 12:22 PM | 显示全部楼层
也是可以啦。。。
那个3000 改成  [R65536].End(xlUp).Row  就可以拿到最后一行了
kiam06 发表于 4-3-2011 11:33 AM



   谢谢你,改成  [R65536].End(xlUp).Row 变快很多。
回复

使用道具 举报

发表于 4-3-2011 02:16 PM | 显示全部楼层
本帖最后由 dugong 于 4-3-2011 02:17 PM 编辑

编号教学

比如说我们要给资料加入编号:

1. a
2. b
3. c
4. etc

我们可以采用以下方程试:

B2: =rows($1:1) [假设编号1从B2格子开始]
一直往下copy,然后选择paste special -> paste formulae 或者paste all

如果要从编号100号开始起跳:
B2: =rows($1:1) + 99 [假设编号100从B2格子开始]

回复

使用道具 举报

发表于 8-3-2011 11:18 AM | 显示全部楼层
如何遮盖不必要的row或者column

1 先选择你任为不必要的row或者column
2 Format > Row 或者 Column > Hide 项目
3 任务完成

若要重新启动可以选择unhide项目
回复

使用道具 举报

发表于 15-3-2011 12:57 AM | 显示全部楼层
问题:
给你一个参考表
        A        B        C        D        E
1        12        45        89        56        65
2        23        54        56        56        74
3        65        87        45        38        37
4        45        84        67        48        37
5        54        67        25        53        37

根据上面的表,完成下面第三列

A        1        12
C        2        56
D        5       
E        4       
B        2       

请问应该怎样,似乎是vlookup的2D版本。
回复

使用道具 举报

发表于 17-3-2011 10:38 AM | 显示全部楼层
回复 53# puangenlun

请问你说的情况是第一项还是第二项?

1.


2.


如果是第一项,根本就用不到 vlookup 方程式。
回复

使用道具 举报

发表于 17-3-2011 10:02 PM | 显示全部楼层
如果我要excel来写一个formula,而且是从一个graph里面的value放进formula的..

y=mx, m=constant, x=另外一个graph的value, y=我要找的value

graph是直线...然后我用x-axis可以直接从graph找y的value来丢进去formula里面吗?
不懂你们知道我在说什么吗...
谢谢~
回复

使用道具 举报

发表于 18-3-2011 10:28 AM | 显示全部楼层
回复 54# madren


   我想请教的是第一种情况,谢谢指教!
回复

使用道具 举报


ADVERTISEMENT

发表于 18-3-2011 02:13 PM | 显示全部楼层
回复 56# puangenlun

之前已经说了,第一项的话根本不需要用 vlookup,直接把那个 cell 的代号放进去就可以得到相关的数值了。
根据上面的表,完成下面第三列

A        1        12
C        2        56
D        5        
E        4        
B        2        

A        1        12
C        2        56
D        5        =D5
E        4        =E4
B        2        =B2
回复

使用道具 举报

发表于 18-3-2011 11:38 PM | 显示全部楼层
回复 57# madren


   更一般的话,如果参考的表格是半天吊的话,那么又如何?
回复

使用道具 举报

发表于 19-3-2011 12:13 AM | 显示全部楼层
回复 58# puangenlun

怎么说“半天吊”呢?愿闻其详。
回复

使用道具 举报

发表于 20-3-2011 09:15 AM | 显示全部楼层
回复 59# madren

也就是说参考表格是插在excel的中间位置,不像上面那样靠在左上角。

SundayMondayTuesdayWednesdayThursdayFridaySaturdaySunday
Red0.99032592770.70324707030.93173217770.18698120120.97177124020.34817504880.3796997070.2437744141
Blue0.95281982420.89028930660.47918701170.22274780270.81826782230.98233032230.85073852540.0264587402
Green0.06811523440.0017395020.22964477540.34594726560.43832397460.81353759770.3025207520.7761535645
Yellow0.67956542970.058593750.96768188480.65985107420.15081787110.99838256840.92547607420.9412231445
White0.38336181640.44778442380.00531005860.81045532230.27185058590.82687377930.13470458980.4208374023


这样就不可以=(Red, Monday)来简单处理了
回复

使用道具 举报

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

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-4-2024 02:30 AM , Processed in 0.070641 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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