2016-09-26 44 views
0

我需要在電子表格1上搜索沒有值,並在電子表格2中的第一個冒號中返回我的名字。Excel如何從2電子表格中取文本

像下面的例子。

謝謝

Spreadsheet1 



A   B   C   D 
Name  Surname Address Exist 
Jhon  Doe  Dummy  Yes 
Pamela  Summer Dummy  No 
Sam  Doe  Dummy  Yes 
Jacob  Summer  Dummy  No 



Spreadsheet 2 

    A 
1 Search if in Spreadsheet1 D there are No text then return me "Pamela" value from first column 
2 Search if in Spreadsheet1 D there are No text then return me "Jacob" value from first column 
3 ecc.. 
4 
+0

你用'Match()'或'Offset()'試過了什麼嗎?你想使用工作表函數,還是使用宏和VBA? – Tyeler

+0

它可能只有工作表功能 – robello84

+1

家庭作業問題預計將顯示原創的努力。見[問]。 – Jeeped

回答

0

AGGREGATE function可以通過將不匹配的任何內容轉換爲錯誤並忽略錯誤,將正確的行號傳遞給INDEX function

使用Sheet2!A1中圖像的F7中的公式並填充。

index_aggregate_second

包裹IFERROR function默認的公式返回ECC ..時,可以發現沒有進一步的比賽,雖然我在西隧,這是重要的還不清楚。

0

在電子表格2把下面的公式

A 
1 =IF(Sheet1!D2="No";Sheet1!A2;"") 
2 =IF(Sheet1!D3="No";Sheet1!A3;"") 
3 =IF(Sheet1!D4="No";Sheet1!A4;"") 
4 =IF(Sheet1!D5="No";Sheet1!A5;"") 
5 ... 
0

如果你將能夠運行宏然後使用此:

Option Compare Text 

Sub findNo() 
Dim rng As Range 
Dim lastrow As Long 
Dim indx As Integer 

indx = 1 
lastrow = Sheet1.Cells(Sheet1.Rows.Count, "D").End(xlUp).Row 
Set rng = Sheet1.Range("D1:D" & lastrow) 

For Each cell In rng 
    If cell.Text = "no" Then 
     Sheet2.Cells(indx, 1) = Sheet1.Cells(cell.Row, 1) 
     indx = indx + 1 
    End If 
Next cell 
End Sub 

但是,如果工作表公式美國ge是唯一可用的方法那麼你可以使用aPhilRa提出的解決方案,但是這會給你留下很多你不能輕易刪除的空行。返回「」使單元格看起來像空,但不能使用ctrl + G - >特殊 - >空格來選擇它們,因爲它們不再真正爲空。

另一種方法是使用返回的東西,而不是「其他公式的改編版」,像公式錯誤:

=IF(Sheet1!D2="No";Sheet1!A2;na()) =IF(Sheet1!D3="No";Sheet1!A3;na()) =IF(Sheet1!D4="No";Sheet1!A4;na()) =IF(Sheet1!D5="No";Sheet1!A5;na())

這將導致#N/A時,不同的文字比「不」在sheet1上使用,如果需要,可以通過ctrl + G - > special - > Formulas錯誤輕鬆選擇所有這些單元格,以單個動作刪除它們。

相關問題