ซ้อนกันถ้าคำสั่งที่ไม่มีการอ้างถึงข้อผิดพลาดอ้างอิงแบบวงกลม [ปิด]


0

ฉันมีสูตรที่คำนวณได้อย่างสมบูรณ์ยกเว้นในกรณีหนึ่งที่ใกล้ถึงจุดสิ้นสุดซึ่งจะเป็นค่าลบ ฉันสงสัยว่ามันจะเป็นไปได้หรือไม่ที่เซลล์จะมีสูตรว่า "ถ้าสูตรนี้ให้ผลลัพธ์เป็นค่าลบให้ทำอย่างอื่น" ฉันรู้วิธีการทำเช่นนี้กับคอลัมน์ผู้ช่วย แต่ฉันสงสัยว่าผู้เชี่ยวชาญด้าน Excel รู้วิธีการทำสิ่งนี้ทั้งหมดภายในเซลล์เดียวกันหรือไม่ สำหรับความรู้ของฉันไม่มีวิธีที่จะทำโดยไม่ต้องอ้างถึงข้อผิดพลาดอ้างอิงแบบวงกลม


บางทีคุณสามารถเพิ่มตัวอย่างสิ่งที่คุณหมายถึงอะไร ชอบข้อมูลที่คุณมีและสิ่งที่คุณต้องการจะทำอย่างไร
Raystafarian

คุณหมายถึงบางอย่างเช่นsuperuser.com/questions/747260/หรือคุณกำลังพูดถึงเหตุการณ์การเปลี่ยนเวิร์กชีท
Raystafarian

@ เรย์สตาฟาเรียนฉันคิดว่าฉันกำลังพูดถึงเหตุการณ์การเปลี่ยนแปลงขอบคุณเรย์
114

คำตอบ:


1

ไม่ได้คุณไม่สามารถเอาชนะการอ้างอิงแบบวงกลมด้วยสูตรที่คุณจะต้อง VBA ในระดับแผ่นโดยใช้เหตุการณ์ worksheet_change


ifแน่นอนว่าเพียงแค่ใช้ สิ่งที่ต้องการ -

=if(sum(A1:A5)<0,somethingelse,sum(A1:A5)

สิ่งนี้จะทำสูตร ( sumในตัวอย่างนี้) ตราบใดที่sum> 0 มิฉะนั้นจะทำ "someelse '

หรือย้อนกลับได้

=if(sum(A1:A5)>=0,sum(A1:A5),""


ใช่ แต่ต้องใช้เซลล์ผู้ช่วยใช่ไหม คุณไม่สามารถใช้สูตรนี้ใน A1: A5
114

@ 114 ไม่ แต่คุณจะมีสูตรเริ่มต้นในเซลล์ (A1: A5) ได้อย่างไรในตอนแรก บางทีฉันอาจไม่เข้าใจคำถามของคุณ
Raystafarian

ฉันคิดว่าสิ่งที่ฉันขอเป็นไปไม่ได้ - โดยพื้นฐานแล้วฉันกำลังมองหาวิธีการอ้างอิงแบบวงกลม
114

@ 114 ทำไม คุณพยายามทำอะไร สิ่งนี้เป็นไปได้กับ VBA เท่านั้น
Raystafarian

1
@AFH OP sumไม่ได้ใช้ ในความเป็นจริงฉันยังไม่ชัดเจนว่าคำถามนี้เกี่ยวกับอะไร แต่worksheet_selectionchangeเหตุการณ์สามารถช่วยเก็บค่าก่อนหน้าและใช้worksheet_changeเพื่อเรียกค่าที่เก็บไว้ ในสิ่งที่คุณสามารถทำได้ในทางทฤษฎีในเซลล์เดียวฉันไม่รู้ว่าทำไมคุณถึงจะทำได้ แต่คุณทำได้
Raystafarian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.