q*******n 发帖数: 360 | 1 实在没法子了,这里人多,上来求救excel高手,包子酬谢,我尽量说得详细点,别嫌
啰嗦,实在不行就站内说话。
(1),建立了两个表格Sheet1和Sheet2,
(2),在Sheet1中需要手工输入了两个数据(例如一个在A2,另一个在E2输入的)
(3),然后要求在Sheet1中E2输入的数据自动传到Sheet2中D5的位置(位置要求是:
Sheet2中的A5等于Sheet1中的A2)
(4),我在Sheet2中D5上使用的命令是D5=VLOOKUP(A5,Sheet1!$A$2:$F$10,5,0),这
样,Sheet1中的E2就显示在Sheet2中的D5位置。
问题是:如果在Sheet1中换另外一组A2和E2,Sheet2中D5的位置就没有数值了,如何才
能把上一步D5中显示的数值保持住?
不知道我说明白了没有?我不知道怎么能上传excel文件。急等!先谢谢了。 |
c******n 发帖数: 16666 | 2 不懂帮顶
我猜要搞个macro检测cell数值变化
类似于这个
http://support.microsoft.com/kb/213612
最好去stackoverflow相关子论坛问
如果要上传附件的话 可以试试后缀改成jpg再上传 |
M*******A 发帖数: 14451 | 3 把自动更新函数结果改成manual
【在 q*******n 的大作中提到】 : 实在没法子了,这里人多,上来求救excel高手,包子酬谢,我尽量说得详细点,别嫌 : 啰嗦,实在不行就站内说话。 : (1),建立了两个表格Sheet1和Sheet2, : (2),在Sheet1中需要手工输入了两个数据(例如一个在A2,另一个在E2输入的) : (3),然后要求在Sheet1中E2输入的数据自动传到Sheet2中D5的位置(位置要求是: : Sheet2中的A5等于Sheet1中的A2) : (4),我在Sheet2中D5上使用的命令是D5=VLOOKUP(A5,Sheet1!$A$2:$F$10,5,0),这 : 样,Sheet1中的E2就显示在Sheet2中的D5位置。 : 问题是:如果在Sheet1中换另外一组A2和E2,Sheet2中D5的位置就没有数值了,如何才 : 能把上一步D5中显示的数值保持住?
|
q***n 发帖数: 3594 | 4 这么简单的东西,为啥不写个脚本处理呢?也就几分钟的事情。 |
q*******n 发帖数: 360 | 5 麻烦您说具体点,好吗?不好意思,我不是学计算机的。先谢谢了。
【在 M*******A 的大作中提到】 : 把自动更新函数结果改成manual
|
q*******n 发帖数: 360 | 6 您的意思是在excel选项中的公式里的计算选项,选成手动重算吗?
我已经这样做了,不好用的。
【在 M*******A 的大作中提到】 : 把自动更新函数结果改成manual
|
q*******n 发帖数: 360 | 7 excel怎么写脚本?能给个例子吗?先谢谢了。
【在 q***n 的大作中提到】 : 这么简单的东西,为啥不写个脚本处理呢?也就几分钟的事情。
|
f****p 发帖数: 18483 | 8 Vbscript.狗一下就知道了。在exel里面只有两种控制方式。内嵌函数和vbscript
【在 q*******n 的大作中提到】 : excel怎么写脚本?能给个例子吗?先谢谢了。
|
|
q*******n 发帖数: 360 | 9 实在坚持不住了,困死了,睡觉去了。如果那位高手能搞定,麻烦给我来个信,我明早
再上来查看,先谢谢了。 |
j********8 发帖数: 2201 | |
|
|
A******u 发帖数: 1279 | |
H********g 发帖数: 43926 | 12 看到军版re了26楼,还以为这回要超过我版了。读完欣慰地发现还是我版靠谱。
楼主:1)把你的数据贴上来,点回复,在回复页面有粘贴附件的地方
2)学一下excel的vbscript编程,用不了半天。 |
m*****i 发帖数: 2325 | 13 很多大公司都还在用啊。
【在 A******u 的大作中提到】 : excel ... 上个世纪的存在啊
|
d********f 发帖数: 43471 | 14 我的建议:改成小女子实在坚持不住了。明早信箱就爆了
【在 q*******n 的大作中提到】 : 实在坚持不住了,困死了,睡觉去了。如果那位高手能搞定,麻烦给我来个信,我明早 : 再上来查看,先谢谢了。
|
d********f 发帖数: 43471 | 15 excel还是quant第一软件好不好
【在 m*****i 的大作中提到】 : 很多大公司都还在用啊。
|
H********g 发帖数: 43926 | 16 http://www.excel-easy.com/vba.html
【在 H********g 的大作中提到】 : 看到军版re了26楼,还以为这回要超过我版了。读完欣慰地发现还是我版靠谱。 : 楼主:1)把你的数据贴上来,点回复,在回复页面有粘贴附件的地方 : 2)学一下excel的vbscript编程,用不了半天。
|
z***i 发帖数: 8285 | 17 excel高手都是编程的大牛
我说的不是it行业的,都是自己编程做计算的
记得看过的有一个excel文件
就是两个键,点import data就把数据倒进去了
然后点excute就把计算结果自动按不同材料生成十几页
每页都把结果分析好了,图也画好了
其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab
把数据按自己的要求重新存储,再用excel调出来
我觉得这个mm需要的是这么一个matlab文件,两三页就够了
http://www.excel-easy.com/vba.html
【在 H********g 的大作中提到】 : http://www.excel-easy.com/vba.html
|
d********f 发帖数: 43471 | 18 晕,这你学3天vba就会了
【在 z***i 的大作中提到】 : excel高手都是编程的大牛 : 我说的不是it行业的,都是自己编程做计算的 : 记得看过的有一个excel文件 : 就是两个键,点import data就把数据倒进去了 : 然后点excute就把计算结果自动按不同材料生成十几页 : 每页都把结果分析好了,图也画好了 : 其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab : 把数据按自己的要求重新存储,再用excel调出来 : 我觉得这个mm需要的是这么一个matlab文件,两三页就够了 :
|
z***i 发帖数: 8285 | 19 需要license么?公司里有时候为了避免购买新license
就只能就着有的东西出奇葩
晕,这你学3天vba就会了
【在 d********f 的大作中提到】 : 晕,这你学3天vba就会了
|
g*********r 发帖数: 2847 | 20 要设成自动啊,设手动了就要f9才能看到变化啊
[在 qgmzztmdn (qgmzztmdn) 的大作中提到:]
:您的意思是在excel选项中的公式里的计算选项,选成手动重算吗?
:我已经这样做了,不好用的。
:........... |
|
|
H********g 发帖数: 43926 | 21 这个excel应该没多复杂的
【在 z***i 的大作中提到】 : excel高手都是编程的大牛 : 我说的不是it行业的,都是自己编程做计算的 : 记得看过的有一个excel文件 : 就是两个键,点import data就把数据倒进去了 : 然后点excute就把计算结果自动按不同材料生成十几页 : 每页都把结果分析好了,图也画好了 : 其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab : 把数据按自己的要求重新存储,再用excel调出来 : 我觉得这个mm需要的是这么一个matlab文件,两三页就够了 :
|
H********g 发帖数: 43926 | 22 我觉得excel的高手主要是知道一些别人不知道的窍门。不过现在反正网上什么都搜得
出来。
【在 z***i 的大作中提到】 : excel高手都是编程的大牛 : 我说的不是it行业的,都是自己编程做计算的 : 记得看过的有一个excel文件 : 就是两个键,点import data就把数据倒进去了 : 然后点excute就把计算结果自动按不同材料生成十几页 : 每页都把结果分析好了,图也画好了 : 其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab : 把数据按自己的要求重新存储,再用excel调出来 : 我觉得这个mm需要的是这么一个matlab文件,两三页就够了 :
|
x****s 发帖数: 921 | 23 理解不了,
要求3: 要求在Sheet1中E2输入的数据自动传到Sheet2中D5的位置
直接和你的问题部分矛盾: Sheet1中换另外一组A2和E2,Sheet2中D5 不变。
如果你想分两步作,第一步是vlookup, 之后要求不管了,那可以这样:
在第一步完成后,用另一个临时列, Z5 paste...value only... from D5...这样D5
值消失, Z5还在。 |
z***i 发帖数: 8285 | 24 这个里面的材料各不相同,有各向同性,各向异性
还有两向异性的,算出来后的场要根据材料的方位重新处理
这个excel应该没多复杂的
【在 H********g 的大作中提到】 : 这个excel应该没多复杂的
|
i**i 发帖数: 1500 | 25 Sheet1!$A$2:$F$10 是 sheet1 里的array,第一列是id。
a5是sheet2里的一个cell, 里面是一个要查id.
VLOOKUP(A5,Sheet1!$A$2:$F$10,5,0) 返回的是sheet1里,对应a5的值(ID)的那行d
列的值。
要保证a5有意义才行。 |
z***i 发帖数: 8285 | 26 如果用awk来写,可能只要一页。。
excel高手都是编程的大牛
我说的不是it行业的,都是自己编程做计算的
记得看过的有一个excel文件
就是两个键,点import data就把数据倒进去了
然后点excute就把计算结果自动按不同材料生成十几页
每页都把结果分析好了,图也画好了
其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab
把数据按自己的要求重新存储,再用excel调出来
我觉得这个mm需要的是这么一个matlab文件,两三页就够了
http://www.excel-easy.com/vba.html
【在 z***i 的大作中提到】 : excel高手都是编程的大牛 : 我说的不是it行业的,都是自己编程做计算的 : 记得看过的有一个excel文件 : 就是两个键,点import data就把数据倒进去了 : 然后点excute就把计算结果自动按不同材料生成十几页 : 每页都把结果分析好了,图也画好了 : 其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab : 把数据按自己的要求重新存储,再用excel调出来 : 我觉得这个mm需要的是这么一个matlab文件,两三页就够了 :
|
H********g 发帖数: 43926 | 27 我研究了一下,发现无论如何看不懂楼主的问题。
为什么输入新的A2 E2 sheet2的d5就没了?d5不是公式吗? |
s**********d 发帖数: 36899 | 28 用没落的perl来写一行就行了。
【在 z***i 的大作中提到】 : 如果用awk来写,可能只要一页。。 : : excel高手都是编程的大牛 : 我说的不是it行业的,都是自己编程做计算的 : 记得看过的有一个excel文件 : 就是两个键,点import data就把数据倒进去了 : 然后点excute就把计算结果自动按不同材料生成十几页 : 每页都把结果分析好了,图也画好了 : 其实这个文件的产生是在运行一个商业软件的同时运行自己的matlab : 把数据按自己的要求重新存储,再用excel调出来
|
d********f 发帖数: 43471 | 29 晕,你们还真看啊,我从来不看这种求助的。像excel这么简单的东西,一个人如果知
道自己要干什么根本不可能不会做。不会做的人一定是连问题都讲不清的
【在 H********g 的大作中提到】 : 我研究了一下,发现无论如何看不懂楼主的问题。 : 为什么输入新的A2 E2 sheet2的d5就没了?d5不是公式吗?
|
H********g 发帖数: 43926 | 30 略有些道理
【在 d********f 的大作中提到】 : 晕,你们还真看啊,我从来不看这种求助的。像excel这么简单的东西,一个人如果知 : 道自己要干什么根本不可能不会做。不会做的人一定是连问题都讲不清的
|
|
|
H********g 发帖数: 43926 | 31 我现在也觉得楼主是自己的问题没有定义好。工作流程没设计对。
【在 d********f 的大作中提到】 : 晕,你们还真看啊,我从来不看这种求助的。像excel这么简单的东西,一个人如果知 : 道自己要干什么根本不可能不会做。不会做的人一定是连问题都讲不清的
|
s**********d 发帖数: 36899 | 32 他要到sheet 1里找一个数,里面数变了以后就找不到了。
【在 H********g 的大作中提到】 : 我研究了一下,发现无论如何看不懂楼主的问题。 : 为什么输入新的A2 E2 sheet2的d5就没了?d5不是公式吗?
|
s*l 发帖数: 9421 | 33 当然没数值了,新的结果把原来的替换掉了。你可以在sheet1的A3E3输值,相应sheet2
的A6用同样的公式,以此类推。
【在 q*******n 的大作中提到】 : 实在没法子了,这里人多,上来求救excel高手,包子酬谢,我尽量说得详细点,别嫌 : 啰嗦,实在不行就站内说话。 : (1),建立了两个表格Sheet1和Sheet2, : (2),在Sheet1中需要手工输入了两个数据(例如一个在A2,另一个在E2输入的) : (3),然后要求在Sheet1中E2输入的数据自动传到Sheet2中D5的位置(位置要求是: : Sheet2中的A5等于Sheet1中的A2) : (4),我在Sheet2中D5上使用的命令是D5=VLOOKUP(A5,Sheet1!$A$2:$F$10,5,0),这 : 样,Sheet1中的E2就显示在Sheet2中的D5位置。 : 问题是:如果在Sheet1中换另外一组A2和E2,Sheet2中D5的位置就没有数值了,如何才 : 能把上一步D5中显示的数值保持住?
|
H********g 发帖数: 43926 | 34 是不是测了一堆数据,在sheet1里,然后想挑出一些点放在sheet2里
例如sheet1
0.0 A
0.2 B
0.4 C
0.6 D
0.8 E
1.0 F
然后 sheet2想做成
0.0 A
1.0 F
“换了一组A2和E2”然后D5里空了,可能是因为新的A列里没有绝对等于sheet2!A5的数
值了吧?
比如仪器返回的1.0点实际记录成了0.99999998,而sheet2里的A5还是1.0,所以说找不
到。本质上是浮点数比大小的问题。
解决这个问题的方法见此:http://support.microsoft.com/kb/315961
要用trunc函数把sheet1 A列或者sheet2 的数值规定有效数字,或者用round函数。简
单方法是新建一个sheet3,然后整页的A列都拷贝上=round(sheet1!a1,3),然后再从
sheet2查找sheet3 的内容。 |
z***i 发帖数: 8285 | 35 那你赶紧写一个。。
用没落的perl来写一行就行了。
【在 s**********d 的大作中提到】 : 用没落的perl来写一行就行了。
|
z***i 发帖数: 8285 | 36 所以要帮忙得另外写一个独立的可运行的方案。。
晕,你们还真看啊,我从来不看这种求助的。像excel这么简单的东西,一个人如果知
道自己要干什么根本不可能不会做。不会做的人一定是连问题都讲不清的
【在 d********f 的大作中提到】 : 晕,你们还真看啊,我从来不看这种求助的。像excel这么简单的东西,一个人如果知 : 道自己要干什么根本不可能不会做。不会做的人一定是连问题都讲不清的
|
s*l 发帖数: 9421 | 37 可能是那个意思。问这种问题一定要有图有真相,否则大家都得乱猜。
【在 H********g 的大作中提到】 : 是不是测了一堆数据,在sheet1里,然后想挑出一些点放在sheet2里 : 例如sheet1 : 0.0 A : 0.2 B : 0.4 C : 0.6 D : 0.8 E : 1.0 F : 然后 sheet2想做成 : 0.0 A
|
H********g 发帖数: 43926 | 38 http://thinketg.com/say-goodbye-to-vlookup-and-hello-to-index-m
另一个办法是用上面链接里的的index-match的办法
d5=index(sheet1!e1:e10,match(a5,sheet1!a1:a10),1)
其中match里这个1是说找sheet1 A列里刚好超过a5的那个数字。
=INDEX(Return_value_range, MATCH(Lookup_value, Lookup_value_range, Match_
type))
Return_value_range - The range that holds the return values
Lookup_value – The value you want to find in the lookup value array
Lookup_value_range – The range containing lookup values
Match_type – Exact (0), Nearest Greater Than (-1), or Nearest Less Than (1) |
z***i 发帖数: 8285 | 39 这个算第一个有效方案。。
是不是测了一堆数据,在sheet1里,然后想挑出一些点放在sheet2里
例如sheet1
0.0 A
0.2 B
0.4 C
0.6 D
0.8 E
1.0 F
然后 sheet2想做成
0.0 A
1.0 F
“换了一组A2和E2”然后D5里空了,可能是因为新的A列里没有绝对等于sheet2!A5的数
值了吧?
比如仪器返回的1.0点实际记录成了0.99999998,而sheet2里的A5还是1.0,所以说找不
到。本质上是浮点数比大小的问题。
解决这个问题的方法见此:http://support.microsoft.com/kb/315961
要用trunc函数把sheet1 A列或者sheet2 的数值规定有效数字,或者用round函数。简
单方法是新建一个sheet3,然后整页的A列都拷贝上=round(sheet1!a1,3),然后再从
sheet2查找sheet3 的内容。
【在 H********g 的大作中提到】 : 是不是测了一堆数据,在sheet1里,然后想挑出一些点放在sheet2里 : 例如sheet1 : 0.0 A : 0.2 B : 0.4 C : 0.6 D : 0.8 E : 1.0 F : 然后 sheet2想做成 : 0.0 A
|
z***i 发帖数: 8285 | 40 这算第二个有效方案。。
http://thinketg.com/say-goodbye-to-vlookup-and-hello-to-index-m
另一个办法是用上面链接里的的index-match的办法
d5=index(sheet1!e1:e10,match(a5,sheet1!a1:a10),1)
其中match里这个1是说找sheet1 A列里刚好超过a5的那个数字。
=INDEX(Return_value_range, MATCH(Lookup_value, Lookup_value_range, Match_
type))
Return_value_range - The range that holds the return values
Lookup_value – The value you want to find in the lookup value array
Lookup_value_range – The range containing lookup values
Match_type – Exact (0), Nearest Greater Than (-1), or Nearest Less Than (1)
【在 H********g 的大作中提到】 : http://thinketg.com/say-goodbye-to-vlookup-and-hello-to-index-m : 另一个办法是用上面链接里的的index-match的办法 : d5=index(sheet1!e1:e10,match(a5,sheet1!a1:a10),1) : 其中match里这个1是说找sheet1 A列里刚好超过a5的那个数字。 : =INDEX(Return_value_range, MATCH(Lookup_value, Lookup_value_range, Match_ : type)) : Return_value_range - The range that holds the return values : Lookup_value – The value you want to find in the lookup value array : Lookup_value_range – The range containing lookup values : Match_type – Exact (0), Nearest Greater Than (-1), or Nearest Less Than (1)
|
|
|
s***v 发帖数: 4924 | 41 你们真牛逼,我到现在都没看懂楼主表达的是什么意思,楼主要实现什么东西。 |
z***i 发帖数: 8285 | 42 女人心思本来就靠猜。。
【在 s***v 的大作中提到】 : 你们真牛逼,我到现在都没看懂楼主表达的是什么意思,楼主要实现什么东西。
|
s***v 发帖数: 4924 | 43 我觉得最简单的就是把sheet1,和sheet2截两张图,传上来再描述。
说不定match,offset这几个就够用了。 |
i**i 发帖数: 1500 | |
r*s 发帖数: 2555 | 45 学术版真是好人多啊,估计那问问题的人还在呼呼地睡大觉呢 |
q*******n 发帖数: 360 | 46 谢谢大家的帮助,尤其是蝗虫!
看样子还是我没有说清楚,数据太大了,传不上去。我做个简单的例子你们看看。
Sheet1
------------------------
A1 B1 C1
A2 B2 C2
A3 B3 C3
------------------------
在A2处输入温度值(30),在C2处输入测试值(496),其他的数值不用管。这样
Sheet1就变成
Sheet1
------------------------
A1 B1 C1
30 B2 496
A3 B3 C3
------------------------
Sheet2是这样子的:
-------------------------
Sheet2
------------------------
30 B1 C1
31 B2 C2
32 B3 C3
------------------------
其中第一列就是预设的温度场值,C列是空闲的
问题就是:如何使Sheet1中在C2处输入的那个496自动地找到Sheet2中的C1位置,并保
证在Sheet1中输入下一组的数据时,该值还是存在Sheet2中C1这个位置上?
(1),使用vlookup可以保证第一步,找到位置是没有问题的,但是输入下一组数据时
,Sheet2 中C1处的值就不见了。
(2),确定Sheet2中C1的位置,因为该位置中的温度值是30,这个和Sheet1中在A2处
输入的温度一致。
不知道这次我说明白了没有?在线等大家帮忙,没想到大家这么热心,真心感谢大家!
|
z***i 发帖数: 8285 | 47 还是建议你写matlab或者找人写matlab,一页就搞定了
但说实话,如果你一页只读一个数据的话
这么多小时问问题的时间,手动都处理完了
谢谢大家的帮助,尤其是蝗虫!
看样子还是我没有说清楚,数据太大了,传不上去。我做个简单的例子你们看看。
Sheet1
------------------------
A1 B1 C1
A2 B2 C2
A3 B3 C3
------------------------
在A2处输入温度值(30),在C2处输入测试值(496),其他的数值不用管。这样
Sheet1就变成
Sheet1
------------------------
A1 B1 C1
30 B2 496
A3 B3 C3
------------------------
Sheet2是这样子的:
-------------------------
Sheet2
------------------------
30 B1 C1
31 B2 C2
32 B3 C3
------------------------
其中第一列就是预设的温度场值,C列是空闲的
问题就是:如何使Sheet1中在C2处输入的那个496自动地找到Sheet2中的C1位置,并保
证在Sheet1中输入下一组的数据时,该值还是存在Sheet2中C1这个位置上?
(1),使用vlookup可以保证第一步,找到位置是没有问题的,但是输入下一组数据时
,Sheet2 中C1处的值就不见了。
(2),确定Sheet2中C1的位置,因为该位置中的温度值是30,这个和Sheet1中在A2处
输入的温度一致。
不知道这次我说明白了没有?在线等大家帮忙,没想到大家这么热心,真心感谢大家!
【在 q*******n 的大作中提到】 : 谢谢大家的帮助,尤其是蝗虫! : 看样子还是我没有说清楚,数据太大了,传不上去。我做个简单的例子你们看看。 : Sheet1 : ------------------------ : A1 B1 C1 : A2 B2 C2 : A3 B3 C3 : ------------------------ : 在A2处输入温度值(30),在C2处输入测试值(496),其他的数值不用管。这样 : Sheet1就变成
|
q*******n 发帖数: 360 | 48 刚才给出的只是为了说明问题简化了表格,真正的数据很大的,就是在Sheet1中输入A2
和C2的值,每个样品就有7800组数据,而且还是一边做实验,一边读表,一边往里输入
。我试过手动的,根本行不通,因为在Sheet2中至少已经有了7800行数据了。
我计算机很弱的那种,不会matlab, 就只会点excel,还是半瓶子水。您有什么办法吗?
【在 z***i 的大作中提到】 : 还是建议你写matlab或者找人写matlab,一页就搞定了 : 但说实话,如果你一页只读一个数据的话 : 这么多小时问问题的时间,手动都处理完了 : : 谢谢大家的帮助,尤其是蝗虫! : 看样子还是我没有说清楚,数据太大了,传不上去。我做个简单的例子你们看看。 : Sheet1 : ------------------------ : A1 B1 C1 : A2 B2 C2
|
z***i 发帖数: 8285 | 49 你要把数据倒到excel表里去找,本来就太慢太占内存了
你先下载个Notepad++,直接打开来看
7800个数据肯定是有规律的,比如温度从低到高等等
用matlab写的话,就是直接从你原始数据里找到那一行
然后把那一行写到另外一个文件里面占一行
然后继续找下一个数据文件继续写下一行
你的数据是什么格式的?
刚才给出的只是为了说明问题简化了表格,真正的数据很大的,就是在Sheet1中输入A2
和C2的值,每个样品就有7800组数据,而且还是一边做实验,一边读表,一边往里输入
。我试过手动的,根本行不通,因为在Sheet2中至少已经有了7800行数据了。
我计算机很弱的那种,不会matlab, 就只会点excel,还是半瓶子水。您有什么办法吗?
【在 q*******n 的大作中提到】 : 刚才给出的只是为了说明问题简化了表格,真正的数据很大的,就是在Sheet1中输入A2 : 和C2的值,每个样品就有7800组数据,而且还是一边做实验,一边读表,一边往里输入 : 。我试过手动的,根本行不通,因为在Sheet2中至少已经有了7800行数据了。 : 我计算机很弱的那种,不会matlab, 就只会点excel,还是半瓶子水。您有什么办法吗?
|
H********g 发帖数: 43926 | 50 你的下一组数据里A列就没有30了吗?
没有的话,直接贴在前一组的下方,叫搜索搜整列不行吗?
如果第二组数据里还有30,你想把它放在哪里?
【在 q*******n 的大作中提到】 : 谢谢大家的帮助,尤其是蝗虫! : 看样子还是我没有说清楚,数据太大了,传不上去。我做个简单的例子你们看看。 : Sheet1 : ------------------------ : A1 B1 C1 : A2 B2 C2 : A3 B3 C3 : ------------------------ : 在A2处输入温度值(30),在C2处输入测试值(496),其他的数值不用管。这样 : Sheet1就变成
|
|
|
H********g 发帖数: 43926 | 51 你的sheet2分析完7800个数据后有多大?你可以给每7800个数据都建一个sheet2,然后
再对这所有的sheet2进行进一步的综合。
A2
【在 q*******n 的大作中提到】 : 刚才给出的只是为了说明问题简化了表格,真正的数据很大的,就是在Sheet1中输入A2 : 和C2的值,每个样品就有7800组数据,而且还是一边做实验,一边读表,一边往里输入 : 。我试过手动的,根本行不通,因为在Sheet2中至少已经有了7800行数据了。 : 我计算机很弱的那种,不会matlab, 就只会点excel,还是半瓶子水。您有什么办法吗?
|
q*******n 发帖数: 360 | 52 输入完之后,第二组里再没有那个温度30了。
问题是用vlookup后,再输入另外一组(比如温度31),这时候vlookup就定位在Sheet2
中的C2位置输出一个新值(这是正确的,没问题),但是温度30对应的位置C1上的那个
数值496就不见了。
【在 H********g 的大作中提到】 : 你的下一组数据里A列就没有30了吗? : 没有的话,直接贴在前一组的下方,叫搜索搜整列不行吗? : 如果第二组数据里还有30,你想把它放在哪里?
|
q*******n 发帖数: 360 | 53
【在 H********g 的大作中提到】 : 你的下一组数据里A列就没有30了吗? : 没有的话,直接贴在前一组的下方,叫搜索搜整列不行吗? : 如果第二组数据里还有30,你想把它放在哪里?
|
H********g 发帖数: 43926 | 54 这样的话你可以把几组数据都放在sheet1里嘛。在sheet2里不就是找sheet1里面对应的
一个温度吗?
Sheet2
【在 q*******n 的大作中提到】 : 输入完之后,第二组里再没有那个温度30了。 : 问题是用vlookup后,再输入另外一组(比如温度31),这时候vlookup就定位在Sheet2 : 中的C2位置输出一个新值(这是正确的,没问题),但是温度30对应的位置C1上的那个 : 数值496就不见了。
|
j******n 发帖数: 871 | 55 我怎么会看到这个?算我倒霉。
楼主知道google这家公司吗?知道他家有个产品叫drive吗?
drive里有个替代excel的东西叫spreadsheet知道吗?
你去google spreadsheet把你后面的例子做一遍,放上来。链接放上来会吗?
然后把要求说清楚。不会贴图没关系,只要你在google spreadsheet做好,我帮你做图。
我搞不掂,不要包子。搞掂了,您先开个价。随便,咱不是贪财的人。
闲着也是闲着,帮帮你又如何。 |
a******o 发帖数: 261 | 56 Still don't understand what u r trying to accomplish here.
If the problem is trying to record all entries into the same input cell -
frankly I think you are trying find a solution to an extremely bad inputting
practice.
If that's the case, what you should be doing is to record all original
inputs into separate cells. That way, #1, you have a record of all of your
original inputs (instead of rewriting the same cell over and over, which
leaves no audit
trail). #2, it eliminates the "solution" you are looking for - everything
now is straight up beginner excel. |
w********e 发帖数: 8594 | 57 唉。哥见你这么无助,就帮你一把。也算不上最好的办法,但是行得通,而且便于你理
解。
在你进行下面的操作之前,先把你的文件备份。要是以下操作失误,数据丢了,不要怪
我。
第一步:进入EXCEL的FILES->OPTIONS->Customize Ribbon. 在右边的main tabs里勾
上Developer.点OK完事。
第二步:点DEVELOPER菜单->Record Macro.在Shortcut Key里填个快捷键,比如q.点
OK
完事。
第三步:点DEVELOPER菜单->Stop Recording Macro.
第四步:按alt+f11.把以下代码拷贝到 ' Keyboard Shortcut: Ctrl+q那一行下面。不
要把End sub 给弄没了。完了关掉代码窗口,代码会自动保存。
第五步:回到Sheet1.将光标定位到第一行。按下你刚才设定好的快捷键,比如ctrl+q.
这个宏按一次快捷键只帮你转一条数据过去。
看看代码里的注释。自己触类旁通吧。
CurrentRow = ActiveCell.Row
ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 1).Select
' Suppose the key in in column A. Change 1 to 2 if it is in column B, 3
if C...
Key = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 1)
' Suppose the variable to be pasted in sheet2 is in column C. Change 3
to 4 if it is in column D,...
VarToTransfer = ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 3)
' Search the first 100000 records in sheet 2. If you have more records
than this, change this number.
For i = 1 To 100000
' Suppose the key is stored in column A in sheet 2. Change 1 to 2
if
it is in column B, ...
If ActiveWorkbook.Sheets("Sheet2").Cells(i, 1) = Key Then
' If it matches the current key, paste the variable in column c.
ActiveWorkbook.Sheets("Sheet2").Cells(i, 3) = VarToTransfer
' Move to the next row in sheet 1.
ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow + 1, 1).Select
' In column j of sheet 1, show the progress.
' WARNING: column j will be overwritten. Change 10 to other
numbers if there are data in column j.
' Delete column j before each batch of operations.
ActiveWorkbook.Sheets("Sheet1").Cells(CurrentRow, 10) = "Done"
Exit For
End If
Next |
A******u 发帖数: 1279 | 58 赞。。。勾起了对青葱岁月的回忆
要怪
【在 w********e 的大作中提到】 : 唉。哥见你这么无助,就帮你一把。也算不上最好的办法,但是行得通,而且便于你理 : 解。 : 在你进行下面的操作之前,先把你的文件备份。要是以下操作失误,数据丢了,不要怪 : 我。 : 第一步:进入EXCEL的FILES->OPTIONS->Customize Ribbon. 在右边的main tabs里勾 : 上Developer.点OK完事。 : 第二步:点DEVELOPER菜单->Record Macro.在Shortcut Key里填个快捷键,比如q.点 : OK : 完事。 : 第三步:点DEVELOPER菜单->Stop Recording Macro.
|
e******t 发帖数: 3289 | 59 你的D5变化是 vlookup函数性质决定的,因为它要求数据源第一列的值具有单向性,
即只能从小到大,或者从大到小,一旦有两个数据值一样时,就乱了。 |
g**s 发帖数: 2331 | 60 高。
【在 d********f 的大作中提到】 : 我的建议:改成小女子实在坚持不住了。明早信箱就爆了
|
|
|
t******g 发帖数: 10390 | 61 好像lookup用的时候搜索match的那列数据要先排序才行,不然会出莫名其妙的结果.
我觉得你可以用index加match的方法.
可以=index(sheet1!C:C,match(A1,sheet1!A:A,0)) |