מורי ורבותי
אֲלֵיכֶם עֵדָה קְדוֹשָׁה אֶשְׁאַל מִכֶּם שְׁאֵלוֹת...
בגיליון המצורף ישנה הפתעה נוספת.
אם מישהו מכם ינסה לבצע ניסוי בגיליון "חיפוש על פי שם השירות"..
הניסוי הוא להשאיר תא ריק בתא החיפוש.
התוצאה שתתקבל היא יבוא כל נתוני גיליון המקור ככתבם וכלשונם.
ככה:
צפה בקובץ המצורף 1520122
השאלה היא מה קורה כאן?
אם ביקשנו כתנאי לפונקציית filter שתחפש ערך שכתוב בתא A2.והתא הזה הוא ריק היה לפונקצייה להחזיר שגיאת n/a או value
ולמה כל התוצאות של גיליון המקור מוחזרות?
(למי שתוהה אין כאן שייכות לרווחים "מקובלים" או "מיותרים" כך שפונקציית trim לא תשנה מאומה מהתוצאה..נסו ותראו)
מי שינסה לבצע עבודת מחקר מקיפה יגלה בסוף (ואני כבר יגלה לכם בסוד את המסקנות...) שמי שאחראית כאן על "המחדל" הזה היא פונקציית search.
אם נעשה רגע "זום in" לפונקציית search נגלה שכאשר תא החיפוש ריק .הפונקצייה מחזירה את המספר 1.
(וזו הסיבה שפונקציית filter מתזירה תוצאות..כי התנאי הוא שתוצאת search תהיה מספר.כדי שפונקציית isnumber תחזיר true .והנה התקיים כאן התנאי...)
סיכמתי זאת בגיליון המצורף ובצילום מסך הבא
צפה בקובץ המצורף 1520130
ניתן לראות בשטח הירוק שכאשר נכתב בתא חיפוש ערך שלא קיים במחרוזת מוחזרת שגיאה של value.
אבל בשטח שצבוע בתכלת בתא c18 מוחזרת הספרה 1.למרות שתא A18
ריק לחלוטין
השאלה הגדולה כאן היא מדוע? הרי התו הראשון בתא b18 הוא "א" (של אברהם) .למה הפונקצייה מתייחסת לתו הריק כראשון?
מה ההיגיון כאן???
זו שאלה של לומדע'ס באקסל,לחקור את הפונקצייה ולהבין את כל הלוגיקה שמסתתרת בה.
יש לי איזה כיוון לתשובה עם הסבר כאן.אבל אני אשמח לשמוע הסבר מחברי הפורום...
ואפרופו חנוכה,אז הנה גם חידון על הדרך...
בהצלחה!