ส่งคืนค่าถ้ามีข้อความ


0

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

แก้ไข: ".FC" เป็นส่วนหนึ่งของสตริงอักขระและจะเป็นอักขระสามตัวสุดท้ายเสมอ สิ่งที่ฉันมีตอนนี้คือ =IF(ISNUMBER(SEARCH(".FC",$N:$N)),$N:$N,"") ฉันต้องเพิ่มบางสิ่งบางอย่างหรือเปลี่ยนแปลงบางอย่างเพื่อให้มีเฉพาะค่าที่มี ".FC" เท่านั้นที่จะได้รับคืนและข้ามสิ่งที่ไม่มี นี่แค่ทำให้ไม่มีอะไรกลับมาในแถวที่เกี่ยวข้องแทนที่จะข้ามไปยัง ".FC" ถัดไป


2
คุณช่วยแก้ไขคำถามของคุณเพื่อให้ข้อมูลตัวอย่างผลลัพธ์ที่คาดหวังสิ่งที่คุณได้ลองมาแล้วและล้มเหลวในการตอบสนองความคาดหวังได้อย่างไร
cybernetic.nomad

1
ยินดีต้อนรับสู่ superuser การช่วยให้คุณทำได้ง่ายขึ้นหากคุณสามารถโพสต์ตัวอย่างสเปรดชีตของคุณหรือสูตรที่คุณใช้ไม่ทำงาน ".FC" ทั้งหมดนี้อยู่ในเซลล์ที่คุณพยายามค้นหาหรือเป็นส่วนหนึ่งของสตริงอักขระที่ใหญ่กว่าหรือไม่
jrichall

คำตอบ:


4

ด้วยข้อมูลในคอลัมน์Aเช่น:

ป้อนคำอธิบายรูปภาพที่นี่

ในB1 ให้ป้อน:

 =IF(ISNUMBER(SEARCH("FC",A1)),1,"")

และในB2 ให้ป้อน:

 =IF(ISNUMBER(SEARCH("FC",A2)),1+MAX($B$1:B1),"")

จากนั้นคัดลอกB2ลงด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ตามที่คุณเห็นค่า "ดี" ทั้งหมดจะถูกทำเครื่องหมายด้วยค่าลำดับแบบง่าย

ในC1ป้อน:

 =IFERROR(INDEX(A:A,MATCH(ROW(),B:B,0)),"")

และคัดลอกลงด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่


1
ว้าวMATCH(ROW(),B:B,0))คนฉลาดดี ฉันใช้การตั้งค่าประเภทที่คล้ายกันในไม่กี่แผ่น แต่จะใช้อย่างแน่นอนตั้งแต่นี้เป็นต้นไปขอบคุณสำหรับสิ่งนั้น!
BruceWayne

1
ไม่ใช่สิ่งที่ฉันกำลังมองหา แต่มันสามารถใช้งานได้ในตอนนี้ ฉันหวังว่าฉันจะได้สูตรหนึ่งที่จะทำทั้งหมดแทนที่จะเป็นสองสูตร อย่างไรก็ตามสูตรที่คุณใส่ใน B2 จะทำงานเป็นสูตร B1 ได้เช่นกัน ไม่จำเป็นต้องใช้สองสูตรที่แตกต่างกันในคอลัมน์นั้น
mrheineyboy

@mrheineyboy ฉันลองใช้วิธีการรวมมาตรฐาน()แต่ฉันไม่สามารถใช้งานได้
นักเรียนของ Gary

Nah วิธีของคุณคือสิ่งที่ฉันจะใช้ตอนนี้ เพียงแค่ปรับแต่งสูตรและใช้งานได้กับสิ่งที่ฉันทำ
mrheineyboy

0

เส้นทางสูตรเดี่ยว:

วางในเซลล์แรกและคัดลอกลง

=IFERROR(INDEX(A:A,AGGREGATE(15,7,ROW(A1:A100)/(ISNUMBER(SEARCH(".FC",A1:A100))),ROW(1:1)),"")

ข้อเสียเปรียบหลักคือนี่คือสูตรประเภทอาเรย์และถ้าชุดข้อมูลมีขนาดใหญ่มันจะทำให้ calcs ช้าลง


อันนี้ใช้งานได้ดี แต่คุณพูดถูก มันทำงานช้ามากเพราะฉันมีค่ามาก
mrheineyboy
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.