מספר לא מזוהה

שלום רב,
מה הבעיה בתא C3 ?
איך נכון לזהות את הבעיה, מבלי לנסות...?
ואיך אני יוצר בעיה כזו באופן יזום ?
תודה
 

קבצים מצורפים

  • שגיאה.xlsx
    KB 10.3 · צפיות: 5

מיכאל אבידן

Member
מנהל
שלום רב,
מה הבעיה בתא C3 ?
איך נכון לזהות את הבעיה, מבלי לנסות...?
ואיך אני יוצר בעיה כזו באופן יזום ?
תודה
.
יש לך "תו נסתר" משמאל לתו 'מינוס'.

בגופן אדום הצגתי את אורכי הערכים/מספרים וה-7 מציין תו מיותר.

בגדול, ובלי הרבה התחכמויות - אם תיכנס, במצב עריכה, לתוך תא C3, ותציב את הסמן משמאל(!) ל'מינוס' ותלחץ פעם אחת על DELETE - הכל יסתדר.
 
הבנתי שיש תו נסתר משמאל למינוס, גם פונקציית LEN מציגה 7 (בשעה שרואים 6 תווים).
ברור גם איך להסיר את התו הנסתר.
עדיין לא הבנתי איך אני יכול להסתכל על מסד נתונים ולגלות באיזה תא יש תו נסתר ?
גרוע מכך, אם משתמשים בנוסחת SUM היא תסכם את כל הטור, תוך התעלמות מהתא בו יש נתון עם תו נסתר, ויש מצב שאינך מודע לסיכום השגוי...
אז מה ניתן לעשות?
 

ziv98

Member
במאקרו ? בגיליון ? יש לך רק את התו הנסתר מהסוג הזה ?

למשל:
2023-01-30_08h17_11.png
 
אני לא יכול לדעת איזה סוג של תו נסתר יש, כשמדובר בנתונים שהורדתי מהרשת.
אני לא יכול לדעת אם יש תווים בעיתיים במסד, אם בכלל.
במקרה הזה במקרה שמתי לב שהערך 28.15- מוסט לשמאל... זה משך את תשומת הלב.
כאשר אני בודק code בתא C3 , אני מקבל 253 . אני מודה, זה לא אומר לי כלום. עכשיו אני יודע שזה תו נסתר מסוים. וכשאני בודק את תא C4 אז מקבל 53.
אז איך אדם סביר יכול לדעת ש 53 זה טוב, ו 253 זה לא טוב...? בדקתי בטבלת Character set של מייקרוסופט ויצאתי מבולבל לגמרי.

לגבי הנוסחה שהצגת היא למעשה מוחקת את התו הנסתר, אלא שצריך להגדיר לה באיזה סוג מדובר. ובמצב רגיל אינני יודע מהו סוגו של התו הנסתר.
אם יש פתרון במקרו שבודק מסד נתונים שהורד מאתר מסוים, ומספיק שמציין היכן יש בעיה מסוג כלשהו, זה היה מצוין.
אני תוהה מה עושים כולם? אני בודאי לא היחידי שמוריד נתונים ממקורות שונים ישר לאקסל, ועל זה עובד...:unsure:
 

ziv98

Member
למצוא תא שאינו מספר (גם אם נראה כזה):
קוד:
Sub b()
MsgBox IsNumeric(Range("C3"))
End Sub

אחרי שמצאת תא כזה אתה יכול לרוץ על התא, תו תו (לולאה פשוטה). על כל תו לשאול אם האסקיי שלו הוא 0-9 נקודה או מינוס:
אם כן - "לצבור את התו"
אם לא - להתעלם ממנו
להחליף את ערך התא המקורי בתוצאה של ה"צבירה"
 
למעלה