יום שלישי, 13 בפברואר 2018

Excel - A simple trick to sum only even numbers in a range


A simple trick to sum only the even numbers in a range


  An Array Formula to sum only the even numbers in a Range


Here’s a trick I invented to sum only the even numbers in a range.
Let’s take, for example, the range F3:F21, in which there are both odd and even numbers (see attached picture).

The formula is:
{=SUM(IF(MOD(F3:F21,2)=0,F3:F21,0))}

The formula, which is an array formula, consists of three functions:

MOD(F3:F21, 2)
The MOD function in Excel calculates the remainder of an arithmetic division. There are two arguments to this Function: the first is the number(s) we want to divide [the dividend], and the second is the divisor.
For example: MOD(1,2), i.e. dividing 1 by 2, will return a remainder of 1.
Our array formula checks each and every number in the range after division by 2, which means: it checks whether the dividend is even.

IF(MOD(F3:F21,2)=0,F3:F21,0))
The IF function “wraps” the MOD function and checks the condition (for each number in the array): if it is even, it takes the number itself, otherwise – it replaces it by a zero.

SUM(IF(MOD(F3:F21,2)=0,F3:F21,0))
Finally, the SUM function “wraps” the previous functions and sums the whole array: since the IF “changed” all original odd numbers into zero, then we get as a result the summation of the even numbers only.

Since this is an Array Formula: After typing it do not press ENTER, but CTRL+SHIFT+ENTER, instead. Excel then adds the curly braces to indicate that this is an array formula: a formula operating on an array/range of cells, as opposed to a regular formula which operates on a single cell.


BTW:
A slight modification in the formula will SUM all the odd numbers in that range:
Just change the =0 into =1 if you want to sum only the odd numbers:

SUM(IF(MOD(F3:F21,2)=1,F3:F21,0))




יום שבת, 30 בדצמבר 2017

Excel: the fastest method to fill an arithmetic series in a column




Excel: A faster method to fill an arithmetic series in a column


The following method (which I believe is my own invention :-)) shows how to fill a series of numbers (in a predefined range) without telling Excel what is the stop (last cell's) result.

Explanation:
Suppose you want to fill the series: 7, 10, 13…. in cells: M3:M200

Usually you would use the following (“traditional”) method:

1.   Enter 7 in cell M3 and press: CTRL+ENTER (to stay in cell M3)
2.   Click the Home Tab
3.   Click the Editing Group
4.   Select the Fill icon
5.   Select the Series option
6.   In the Series dialog box select: Columns in the: Series radio button
7.   In the Series dialog box select: linear in the: Type radio button
8.   In the Step value text box: type 3
9.   Now you need to calculate the Stop value:
The formula is:  7 + (2003)*3 = 598, where: 200 is the last cell’s row and 3 is the first cell’s row.
10.  In the Stop value text box type the result of step 9.: 598
11.  Press OK in the Series dialog box and Excel will display the requested series in the defined range (M3:M200)


Now, to my method:
I propose a new method, which is faster: You don’t need to
precalculate the stop value, i.e. the value at the range’s last cell.

1.   Enter 7 in cell M3 and press: CTRL+ENTER (to stay in cell M3)
2.   Press F5 to display the Go To dialog box
3.   Enter M3:M200 in the Reference Text Box
4.   Press OK
5.   Press F2 to edit cell M3
6.   Press CTRL+ENTER to propagate the number in cell M3 (7) to the entire range
7.   In cell M4 Enter 10 (the second number of the series)
8.   Select cells M3:M4 and double-click the Fill Handle of cell M4 (at the lower right corner of that cell)
9.   Et voilà, Cells M3:M200 now contain the desired series…

 Picture No.1: The “traditional” method




Picture No.2: My method







יום שלישי, 26 בספטמבר 2017

אתגר בינלאומי באקסל – אוגוסט 2017


אתגר בינלאומי באקסל – אוגוסט 2017

שמח להופיע בחברה טובה, עם המומחים הגדולים ביותר בעולם ב"אקסל"

לפני כחודש גיליתי במקרה ב"יוטיוב" את האתגר הבא ב"אקסל":
https://www.youtube.com/watch?time_continue=1&v=OJLfPc9YlqE

למי שמתעצל, הנה הסבר מילולי:
במטריצה שבעמודות B,C,D (תאיםB5: D45  - מסומנים באפור בתמונה) מופיעים שמות משחקים. כל משחק מופיע רק פעם אחת והוא שייך רק לאחת מהקטגוריות: Productivity, Games, Utility המופיעות בכותרת העמודות (בתאים B4:D4) [מסומנות באדום]
האתגר: שליפת קטגוריה של כל אחד מהמשחקים.

תמונה מס.1 - האתגר




לבעיה יש, כמובן, מספר פתרונות.
אני מציג כאן 2 פתרונות שהם מקוריים שלי והם מופיעים גם בקובץ האקסל, לצד פתרונות של ענקי אקסל.

תמונה מס. 2 – פתרונות שלי לצד פתרונות ענקי אקסל



הפתרונות מוצגים בעמודות H:I, כאשר בעמודה H מופיעים שמות המשחקים ובעמודה I מופיעים שמות הקטגוריות, ליד כל שם משחק

פתרון מס. 1:



                                    תמונה מס. 3 - פתרון מס. 1 בגליון



                                             תמונה מס.4 – פתרון מס. 1 - הנוסחה

הסבר על הפתרון:
הפתרון מתבסס על  Nested If:
אנו מחפשים את שם המשחק ב-3 העמודות בעזרת הפונקציה: MATCH. אם לא נמצא בעמודה המבוקשת, "אקסל" מחזיר שגיאה (#N/A) ואנו אומרים לאקסל להתעלם מהשגיאה (בעזרת הפונקציה IFNA) ולהמשיך לחפש בעמודות הנותרות.



פתרון מס.2:



                                   תמונה מס. 5 - פתרון מס. 2 בגליון



                                       תמונה מס.6 – פתרון מס. 2- הנוסחה



הסבר על הפתרון:
הפתרון מבוסס על הפונקציה COUNTIF אשר סופרת כמה פעמים מופיע השם בכל אחת משלוש העמודות. אם השם נמצא בעמודה מסוימת – הפונקציה תחזיר ערך: 1, אחרת תחזיר: 0.
מכיון שהשם חייב להופיע באחת משלוש העמודות, אם "נשרשר" את 3 התוצאות – נקבל מספר בן 3 ספרות, שאחת מספרותיו היא 1 ומיקום הספרה במספר מציין את מספר העמודה.
אם תוצאת השרשור היא:
100 – אז השם מופיע בעמודה הראשונה (Productivity),
אם תוצאת השרשור היא: 010 – אז השם מופיע בעמודה השניה (Games),
ואם תוצאת השרשור היא: 001 – אז השם מופיע בעמודה השלישית (Utility),
חיפוש מיקום הספרה 1 נעשה באמצעות הפונקציה FIND, ומיקום זה משמש את הפונקציה INDEX כדי להביא את כותרת העמודה במיקום המתאים מבין 3 העמודות.




ניתן להוריד את הקובץ שבו מופיעים הסברים על פתרונות שונים שהציעו מומחי "אקסל", רובם MVP (התואר המכובד שמעניקה "מיקרוסופט" למומחים הגדולים ביותר בעולם ב"אקסל" – בעולם כולו יש פחות מ-100 Excel MVPs)
בקובץ מופיעים גם 2 הפתרונות שלי J J J, בצד פתרונות של ענקי ה"אקסל".
מחמיא לי מאוד.

הקישור לקובץ:







יום רביעי, 20 בספטמבר 2017

פרויקט תרגום סימולטני - 2017.09.04




פרויקט תרגום סימולטני - 2017.09.04


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

מצורף מכתב התודה שלהם






יום שישי, 18 באוגוסט 2017

ציון מעולה באקסל - 2017.08.07



ציון מעולה באקסל – 07.08.2017

הציון 100 בבחינת גמר ב"אקסל" JJJ

תלמיד שלי שלומד במרכז בבינתחומי - הרצליה