2015-04-21 30 views
1

不知道如何去做這件事(或者是否可以完成)。我在Excel中有三張工作表。第三個目前是空的。頭兩張表有過去10年的股票交易。一個約50個條目,第二個約70個。每個條目都有這樣的列:股票代碼,公司,數量,購買日期,購買價格,總購買$,賣出日期,賣出價格,總售價$,損失/收益。使用第一張和第二張紙張的特定值填充第三張紙張

我所希望做的是動態構建第三板(只是報告/觀看),在有購買日期,但沒有賣出日後的第一個兩片只有條目。 IE:只顯示當前股票持有量。因此,當一隻股票被賣出並且一個賣出日期被輸入到第一張表單之一時,它將從第三張表單中消失。

而持股並不都在列表的底部。例如,在表1中的50個條目中,第5,21,23,43,46,47和48行具有購買日期但沒有銷售日期。

在我搜索,我看到了,也許VLOOKUP函數將服務的,但我剛剛得知的今天,而不是很熟悉。

+0

使用VBA可以輕鬆完成。你覺得這是你能做的嗎? – martin

+0

還有一些說明性問題:每張紙在您的紙上最多顯示兩次?也就是說,只有一個購買日期和可能的一個銷售日期?這兩張表是相同的(當然他們有不同的數據,但除此之外)? – martin

+0

你好馬丁!我沒有VBA經驗,也不知道如何與Excel集成。 。 。是的,兩張表是相同的(所有事情都考慮在內)只是包含不同的數據。而且,是的,每個條目(行)是唯一的,只出現一次 - 每個購買日期只有一個銷售日期(沒有部分銷售)。 –

回答

0

在你的地方,我只想補充一欄,用公式每個片狀

= countif($A$1:$A$50, A1) 

複製這個公式的第一行上,然後選擇列,然後按Ctrl-d它在所有行復制。該公式將計算股票代碼(我假設它在A列中)在表格上的次數。然後,您可以使用Excel內置過濾時這個數字爲2

,只顯示行如果確實需要將數據複製到第三片,上面是在任何情況下的第一步。關於第三個表,你可以使用這樣的事情:

在第一行:

=MATCH(2,Sheet1!$F$1:$F$50,0) in column A 
=INDIRECT("Sheet1!A" & A1) in column B 

在第二行(然後複製下來,必要的,因爲很多次):

=MATCH(2;INDIRECT("Sheet1!F" & SUM($A$1:A1)+1):$F$50;0) 
=INDIRECT("Sheet1!A" & A2+SUM($A$1:A1)) 

(假定在第一片被命名爲Sheet 1中並且該COUNTIF列是F)

在A列,你將有股票符號與計數2(相對於拉斯的相對位置t位置),並在B列中使用indirect函數檢索股票代碼本身。

這種解決方案的缺點是,你將有每個符號兩次(一次購買,一次賣出),這可以通過調整對Sheet1中的公式很容易固定。

相關問題