Page 1 of 1
version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอน)
Posted: Fri Jan 11, 2013 5:02 pm
by tstc79tt
[img]
[img]http://image.ohozaa.com/i/g3f/Nxp4kB.JPG[/img][/img]
คือผมลองๆ หลายวิธีแต่ตอนนี้ผมตันแล้วครับกำลังพยายาม ใช้วิธีเช็ค IP ของอาจารย์ โดยแปลงๆ โค๊ด แต่ผมยังไม่เข้าใจโค๊ดอย่างมาก เลยยังไม่รูจะแปลงตรงไหนใส่อะไร
ซึ่งผมลองๆใช้ Function แต่ดูเหมือนว่ามันไม่เหมาะ(น่าจะครับ หากมีวิธีใดๆชี้แนะด้วยครับ)
ขอรบกวนผู้รู้ให้คำปรึกษาเรื่อง VBA หน่อยครับ
if (Patch name = Pack name) then **** searching for same Name on patch column to reference for patch base and revise number
if (base(c column) > base(h column)) ***checknumber[cellbycell]
display "yes" in J cell
or if (base(C column) = base(h column)) then
check if revise(D column) > revise(I column)
display "yes" in J cell
else display No
ด้านบนคือที่ผมคิดออกมาได้ว่าควรจะเช็คอะไรยังไงให้ได้คำตอบออกมา
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Fri Jan 11, 2013 5:10 pm
by snasui
ลองเขียนเงื่อนไขมาเป็นคำอธิบายเป็นข้อ ๆ แทนการเขียน Code
สำหรับคำปรึกษา VBA ต้องเขียนหรือปรับ Code มาเองก่อน ติดตรงไหนค่อยมาถามกัน ถ้าเขียนหรือปรับไม่เป็นก็ไม่ควรใช้ VBA ครับ
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 4:18 pm
by tstc79tt
ผมได้ไปลองๆ มาครับตามไฟล์ที่แนบมาให้
สิ่งที่ตอนนี้ผมทำไม่ได้และต้องการคำปรึกษาคือ
1.ทำยังไงให้เทียบค้นหาบรรทัดที่ชื่อเหมือนกันมาเพื่อนำข้อมูลในบรรทัดนั้นๆมา ใช้งาน
2.หากมันเป็นจุดทศนิยม 1 หลักมันจะเทียบไม่ได้ครับ ดูได้ในตัวอย่างในไฟล์ แต่หากเป็นหลายๆจุดทศนิยมจะปกติดีครับ
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 5:24 pm
by snasui
tstc79tt wrote:1.ทำยังไงให้เทียบค้นหาบรรทัดที่ชื่อเหมือนกันมาเพื่อนำข้อมูลในบรรทัดนั้นๆมา ใช้งาน
ค้นจากไหน มาแสดงที่ไหน ด้วยเงื่อนไขใดครับ
tstc79tt wrote:2.หากมันเป็นจุดทศนิยม 1 หลักมันจะเทียบไม่ได้ครับ ดูได้ในตัวอย่างในไฟล์ แต่หากเป็นหลายๆจุดทศนิยมจะปกติดีครับ
ที่เรียกว่าทศนิยมนั้นไม่ถูกต้องครับ ทศนิยมใช้กับตัวเลขหรือ Number ไม่ใช่เลข IP เพราะเลข IP คือ Text ไม่ใช่ตัวเลขครับ
การนำมาเทียบกัน
Text จะมากกว่า Number ทุกกรณีครับ
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 5:50 pm
by tstc79tt
ตามไฟล์ที่แนบมาก็
เช่นครับ
ที่ตัว Patch
มีข้อมูลมาว่า
aaa 1.7.2.1
bbb 2.8.3
ccc 1.6
ส่วนใน Pack หรือข้อมูลเก่าของเรา
aaa 1.7.3
aaa 1.6.1.2
bbb 2.7.11
ccc 1.3.2
bbb 1.7.1.2
หากเป็น aaa ก็ให้นำไปเทียบกับ aaa ประมาณนี้ครับ
แล้วก็มีวีธีทำให้มันเช็คด้วยกันได้ไหมครับระหว่าง เช่นที่เป็น 1.1 กับ 1.1.1
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 6:16 pm
by snasui
ช่วยอธิบายโด
ยอ้างถึงชีท อ้างถึงเซลล์ครับ จะได้เข้าถึงข้อมูลได้โดยไว
ปัญหาคืออะไร ต้องการคำตอบเป็นอย่างไร ช่วยแสดงคำตอบเป็นตัวอย่างไว้ด้วยว่าที่ถูกต้องนั้นจะต้องได้ค่าใด
tstc79tt wrote:แล้วก็มีวีธีทำให้มันเช็คด้วยกันได้ไหมครับระหว่าง เช่นที่เป็น 1.1 กับ 1.1.1
การจะนำมาเปรียบเทียบกันได้จะต้องกำหนด Format 1.1 ให้เป็น Text ครับ
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 7:43 pm
by tstc79tt
โอเคครับ ผมอธิบายเป็นคำพูดให้ภาพยากน่ะครับ ผมทำไฟล์พร้อมเขียนปัญหา ในไฟล์ที่ผมแนบได้เขียนอธิบายปัญหาที่ผมเจอทุกอย่างตอนนี้ครับ รวมทั้งคำตอบที่ควรจะถูกด้วยครับ
ปัญหาคือ ตอนนี้ ผมอยากรู้ฟังชั่นที่ ทำให้มัน เลือกเช็คเฉพาะ ตัวที่ ชื่อเหมือนกัน เช่น aaa ของ Pack ก็ให้ เช็ค กับ aaa ของ Patch
และก็อีกอย่างคือ 1.33 เมื่อเทียบกับ 1.3.3 มันจะขึ้นให้ 1.3.3 มากกว่าตลอด ผมได้ลองเปลี่ยนเป็น text ก็ยังขึ้นเหมือนเดิมไม่รู้ว่าผมทำถูกวิธีไหม
โดยจะเช็คจากชื่อ เมื่อชื่อเหมือนกันให้ทำการเช็ค base หากของpatchมากกว่าตอบ yes หาก base เท่ากัน ให้ ไปเช็ค revise หาก revise patch มากกว่า ตอบ yes
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 8:03 pm
by snasui
ตราบใดที่คุณ tstc79tt ไม่เขียนอ้างอิงเซลล์ ผู้ที่ตอบจะลำบากในการเข้าถึงข้อมูลครับ
ตัวอย่างการอธิบายควรจะอธิบายลักษณะนี้
ในชีท Sheet1 ที่เซลล์ J2 ต้องการคำตอบโดยมีเงื่อนไขว่า
หาก G2 มีค่าเท่ากับ A2 แล้ว ให้ตรวจสอบว่า H2 น้อยกว่า C2 หรือไม่
ถ้าไม่ใช่ ให้ J2 เป็น No ถ้าใช่ ให้ J2 เป็น Yes
ฯลฯ
ที่บรรยายมานั้นหากนำการอ้างอิงเซลล์เข้าไปด้วยจะทำให้เข้าใจได้เลย และสูตรที่เขียนมาผมและเพื่อน ๆ สามารถตรวจสอบให้ได้ว่า เขียนตรวจสอบเงื่อนไขได้ครบถ้วนแล้วหรือไม่
ผมไม่ดูว่าเขียนสูตรมาอย่างไร แต่จะดูว่าเงื่อนไขเป็นอย่างไร ต้องการคำตอบเป็นอย่างไรก่อน ถึงจะช่วยดูให้ได้ว่าต้องปรับสูตรอย่างไร
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 8:19 pm
by tstc79tt
อ้อออครับๆๆ ก็
เช็คที่ คำตอบอยู่ที่เซล J
sheet ที่ 1 ครับ
จาก G2 เช็คว่าเหมือนกันกับ column A ตัวใดไหม
หากเหมือนกัน ให้ไปที่ H2 ว่าน้อยกว่า column C ที่อยู่ rowเดียวกับกับที่ G2 เจอ หาก น้อยกว่า ตอบ yes ที่ J
หาก H2=C? ให้ไปที่ column I เช็คว่า น้อกว่า column D ที่อยู่ Row เดียวกันกับG2 เจอ หากน้อยกว่า ตอบ yes ที่ J
นอกนั้น No ครับ
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Sun Jan 13, 2013 9:05 pm
by snasui
ลองดูตัวอย่างตามไฟล์แนบครับ
คอลัมน์ K:L ใช้สูตร Vlookup ดึงข้อมูล Version กับ Revise ที่ตรงกับ ค่าในคอลัมน์ G ขึ้นมาก่อน จากนั้นค่อยเขียนสูตรที่คอลัมน์ J
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Mon Jan 14, 2013 11:57 am
by tstc79tt
=IF(H2<K2,"Yes",IF(AND(
H2=L2,I2<L2),"Yes","No"))
มีคำถามครับ ทำไม ตรงนี้ไม่เป็น H2=K2 หละครับ ในเมื่อต้องการแค่เช็คว่า base เท่ากันหรือไม่ แต่ดันเป็นไปเช็คกับอีกอันแล้วคำตอบดันถูกหละครับ
งง
Re: version check แบบหลายเงื่อนไข(คล้าย IP แต่ทศนิยมไม่แน่นอ
Posted: Mon Jan 14, 2013 12:09 pm
by snasui
ลองทำความเข้าใจว่า H2 คืออะไร L2 คืออะไร เป็นไปตามเงื่อนไขหรือไม่ จะได้เข้าใจเพิ่มขึ้นครับ