Page 1 of 1
เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 5:57 pm
by nopanan
ข้อมูลเปรียบเทียบอยู่ที่ คอลัมน์ A และ B และถ้าไม่ได้เรียงลำดับกันหรือเรียงแล้วไม่ตรงกันก็ได้ครับ และให้แสดงข้อมูลที่เกินมา ในคอลัมน์ C ครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 6:07 pm
by snasui

ลองตามนี้ครับ
ที่ C1 คีย์สูตรตามด้านล่าง จากนั้นกดแป้นให้รับสูตรด้วย Ctrl+Shift+Enter แทนการกดแป้น Enter เพียงอย่างเดียว ที่ต้องกดเช่นนี้เนื่องจากเป็นสูตร Array และหากกดแป้นถูกต้องจะเห็นเครื่องหมายปีกกาครอบสูตร หากไม่เห็นเครื่องหมายปีกกาแสดงว่ากดแป้นไม่ถูกต้องครับ
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$1:$B$12,SMALL(IF($B$1:$B$12<>$A$1:$A$12,ROW($B$1:$B$12)-ROW($B$1)+1),ROWS(C$1:C1)))))
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 7:33 pm
by nopanan
ใช้กับไฟล์จริงแล้วยังมีค่าซ้ำมาแสดงครับ

Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 7:37 pm
by snasui

ที่มีค่าซ้ำเพราะคำถามไม่ชัดครับ ช่วยเขียนคำถามมาใหม่ พร้อมแสดงตัวอย่างคำตอบที่ถูกต้องโดยยึดตามไฟล์ที่แนบมานี้ครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 7:52 pm
by nopanan
คอลัมน์ A ทั้งหมดจะมีอยู่ในคอลัมน์ B และส่วนหนึ่งในคอลัมน์ B จะไม่มีในคอลัมน์ A ต้องการให้แสดงค่าส่วนหนึ่งที่ว่านั้นทั้งหมดในคอลัมน์ C ครับ นั่นคือให้แสดงค่าส่วนเกินน้ันที่อยู่ในคอลัมน์ B
มาแสดงในคอลัมน์ C ครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 7:59 pm
by snasui

แทนสูตรเดิมเป็นสูตรตามด้านล่างครับ
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($B$1:$B$12,SMALL(IF(ISNA(MATCH($B$1:$B$12,$A$1:$A$9,0)),ROW($B$1:$B$12)-ROW($B$1)+1),ROWS(C$1:C1)))))
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 9:02 pm
by nopanan

ได้แล้วครับอาจารย์ แต่ข้อมูลของผมมี 2761 แถวทำให้ cpu ทำงานหนักมากถึง 100% เลยทีเดียวทั้งๆที่เป็น i7 และช้าด้วย ตามสูตรถ้าเป็นตัวเลขจะใช้เป็น lookup(isnumber หรือเปล่าครับและ choose{1,2}มันไม่เป็นจำนวนแต่เป็นอาเรย์หมายความว่าอย่างไรครับ ขอบคุณครับ

Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 9:13 pm
by snasui

กรณีเป็นตัวเลขปรับเป็นสูตรด้านล่างครับ
=LOOKUP(9.99999999999999e307,CHOOSE({1,2},0,INDEX($B$1:$B$12,SMALL(IF(ISNA(MATCH($B$1:$B$12,$A$1:$A$9,0)),ROW($B$1:$B$12)-ROW($B$1)+1),ROWS(C$1:C1)))))
{1,2} อยู่ใน Choose ซึ่งเป็นการใช้แบบประยุกต์ แสดงว่า Choose นั้นมี 2 ส่วนประกอบคือ 0 และผลลัพธ์จาก Index (ตามสูตรด้านบน) เพื่อนำไปเป็นส่วนประกอบของ Lookup อีกทีครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Wed Oct 10, 2012 9:17 pm
by nopanan

ขอบคุณครับอาจารย์
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Sat Oct 20, 2012 10:56 pm
by nopanan

กลับมาถามต่อครับ ถ้าหากว่ามีข้อมูลที่ถูกเปรียบเทียบ เป็นสองคอลัมน์ สูตรจะเป็นอย่างไรครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Sun Oct 21, 2012 5:44 pm
by snasui

ลองทำตัวอย่างข้อมูล พร้อมแสดงตัวอย่างคำตอบที่ต้องการมาดูกันครับ
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Sun Oct 21, 2012 6:16 pm
by nopanan

นำข้อมูลในคอลัมน์ D ไปเปรียบเทียบกับช่วงข้อมูลในคอลัมน์ A B C แล้วให้แสดงข้อมูลที่ไม่มีในช่วงดังกล่าว ซึ่งก็คือข้อมูลสีดำในคอลัมน์ D แสดงที่ คอลัมน์ E1 ครับ

Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Sun Oct 21, 2012 6:33 pm
by snasui

ลองตามนี้ครับ
ที่ E1 คีย์
=LOOKUP(CHAR(255),CHOOSE({1,2},"",INDEX($D$1:$D$28,SMALL(IF(ISNA(MATCH(D$1:$D$28,$A$1:$A$10,0)),IF(ISNA(MATCH($D$1:$D$28,$B$1:$B$10,0)),IF(ISNA(MATCH($D$1:$D$28,$C$1:$C$10,0)),ROW($D$1:$D$28)-ROW($D$1)+1))),ROWS(D$1:D1)))))
Ctrl+Shift+Enter > Copy ลงด้านล่าง
Re: เปรียบเทียบสองคอลัมน์แล้วให้แสดงค่าที่ไม่เข้าพวก
Posted: Sun Oct 21, 2012 6:47 pm
by nopanan

ได้ตามต้องการขอบคุณครับอาจารย์