So sánh hai dãy số và nói nếu số thứ nhất trùng với số thứ hai


3

Tôi mới sử dụng Excel và tôi cần sử dụng nó cho một bài báo khoa học. Tôi đang cố gắng tối ưu hóa quy trình thu thập dữ liệu cơ sở dữ liệu của mình.

Tệp của tôi http://cid-1662ba2be7d0ee4e.skydrive.live.com/redir.aspx?resid=1662BA2BE7D0EE4E!144

Tôi cần so sánh phạm vi được tạo bởi các cột "Bắt đầu" và "Kết thúc" với các phạm vi khác nhau bên trong hình vuông và đầu ra màu vàng, trong cột "đồng địa hóa", nếu phạm vi Bắt đầu kết thúc chỉ có giá trị đầu tiên (Có - Bắt đầu), chỉ giá trị thứ hai (Có - Kết thúc), chồng lấp cả hai (Có - cả hai) hoặc chỉ được chứa (Có - Chứa). Nếu không có điều kiện nào được đáp ứng, chỉ cần xuất "Không".

Đây có phải là quá phức tạp cho Excel?

Cảm ơn!

btw: Tôi đã gắn thẻ câu hỏi này Excel 2010, vì đó là những gì tôi sử dụng ở nhà, nhưng nếu bạn biết cách làm điều này trong phiên bản trước, tôi cũng sẵn sàng chấp nhận câu trả lời đó.


2
Tôi rất muốn giúp đỡ, nhưng tôi không thực sự muốn nhập địa chỉ email của mình để xem tệp bạn đã đăng. Bạn có biết rằng bạn có thể đăng các tệp trên Microsoft Web Apps ( office.microsoft.com/en-us/web-apps ) miễn phí không? Từ đó bạn có thể chia sẻ công khai và mọi người không cần phải đăng nhập hoặc cung cấp thông tin để tải xuống tệp của bạn. Nếu bạn đăng nó lên đó, bạn có thể có thêm một vài người (bao gồm cả tôi) để giúp bạn.
Ben Jones

Xong;) Tôi không biết về dịch vụ đó. Cảm ơn
mariachi

Nếu một câu trả lời làm việc cho bạn, bạn nên chấp nhận nó. Xem Câu hỏi thường gặp
chris neilsen

Đến đây đi :)
Phoshi

Câu trả lời:


1

Đây là một giải pháp:

Trước tiên, một thay đổi nhỏ đối với bố cục trang tính của bạn (các giá trị trong phạm vi F2: G11)

From            To  
                    0  
        0    27800000  
 34400000    46500000  
 51000000   102000000  
107000000   117600000  
120700000   153300000  
154800000   163800000  
171200000   174300000  
184000000   247200000  
999999999   999999999

Thêm 4 cột kết quả ngay lập tức (tôi đã sử dụng I, J, K, L)

thêm công thức

I2    =MATCH(A2,$F$2:$F$11,1)      
J2    =MATCH(A2,$G$2:$G$11,1)+1
K2    =MATCH(B2,$F$2:$F$11,1)
L2    =MATCH(B2,$G$2:$G$11,1)+1

Sao chép chúng xuống cho tất cả các hàng trong dữ liệu của bạn

Công thức tế bào đồng địa hóa

D2   =IF(AND(I2=J2,I2=K2,I2=L2),"Yes - Contained",IF(AND(I2=J2,K2=L2),"Yes - Both",IF(I2=J2,"Yes - Start",IF(K2=L2,"Yes - End","No"))))

Để đối phó với các tiêu chí bổ sung cho "Có - Giữa", hãy thêm một tiêu chí khác vào công thức để kiểm tra kéo dài từ / đến phạm vi

D2 =IF(AND(I2=J2,I2=K2,I2=L2),"Yes - Contained",IF(AND(I2=J2,K2=L2),"Yes - Both",IF(I2=J2,"Yes - Start",IF(K2=L2,"Yes - End",IF(AND(I2+1=J2,K2+1=L2,I2<K2),"Yes - Middle","No")))))

Cảm ơn bạn! Tôi nghĩ điều này đúng, nhưng bạn có thể giải thích cho tôi tại sao cần thêm dòng "0" và "999 ..." không?
mariachi

để tránh lỗi MATCHkhông trả về cho 'Đến' <2780000 và kết quả không chính xác Từ> 18400000 hoặc Tới> 247200000 (tôi nên đề cập, giá trị cuối cùng cần phải> bất kỳ giá trị nào có thể từ / Đến giá trị)
chris neilsen

@chris neilsen: Cảm ơn đã giải thích. Nhưng không phải 999 .. ô vô dụng vì công thức của bạn không chọn nó? (vẫn hoạt động hoàn hảo mặc dù)
mariachi

btw: thật buồn cười .. các công thức sẽ không hoạt động trong tài liệu google (chúng xuất ra n / a) nhưng hoạt động ở mọi nơi khác. Chỉ cần một lưu ý phụ, không có vấn đề lớn.
mariachi

@chris neilsen: Tôi đã tìm thấy một tình huống trong đó công thức của bạn không hoạt động: trường hợp khi một chuỗi bắt đầu và kết thúc bên ngoài tập dữ liệu F2: G11, nhưng vượt qua nó (bắt đầu> ... F2: dữ liệu G11 ..> kết thúc) . Cho đến bây giờ điều này dẫn đến một câu trả lời "Không", khi có thể "Có - giữa" là phù hợp hơn. Tôi đã không yêu cầu điều này trong yêu cầu ban đầu của tôi, đây là một câu hỏi đã tăng lên sau khi đã đưa công thức tuyệt vời của bạn vào công việc. Làm thế nào tôi có thể làm điều này?
mariachi
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.