Recent Discussions
- 17Views0likes1Comment
Excel not working properly since updating to Windows 11
Hi, Since I have updated my PC to windows 11 Excel has not been working properly. Every 5 min the sheets seem to be unresponsive when I click on a tab or anywhere on the excel page. To make it work again I have to constantly reduce the window and reopen it. This is very frustrating as it happens very often. I have tried to start excel in safe mode or disable add-ins but the bug continues. Thank you82KViews5likes114CommentsExcel: Count cells with specific value + colour
Hi there, I would like to be able to count the number of cells that contain a specific value and are shaded a specific colour. This is for a rota spreadsheet that will be tallying the total number of shifts which have been agreed. The cells that contain "Yes" as a value from a drop down list and are shaded green, should be counted as part of the quarterly total. I'm assuming that a VBA custom function would be needed for this. I've tried a few but cannot figure out a way to get this to work with both a specific value and colour. I would be very grateful for anyone that is able crack this challenge. In the example screenshots, it is the cells shaded in green that would need to be counted and the totals appear in column GJ. Best regards, Daniel195Views0likes7CommentsThe Diagonal Suite: Gentle thunking goes a long way!
I've become a big advocate for gentle thunking - using thunks to delay eager evaluation wherever possible in generalized Lambda development. The timings are quicker and the logic is cleaner. On the other hand, thunking the results of MAP, BYROW, or BYCOL - especially when it leads to rows of thunks - tends to introduce recombination overhead and complexity. I think thunking is often dismissed as “too complex,” and that’s understandable if someone’s first exposure involves unwrapping a row of thunks. When used gently thunking becomes indispensable. Typically, I introduce the thunks after the initial benchmarking to see the difference in the calculation times and the after is always quicker. To illustrate, I’ll share The Diagonal Suite - a collection of functions where thunking is used at every opportunity. Simple, clean, deferred logic. What are your thoughts on gentle thunking? Where have you found it helpful/harmful in your own Lambda development? //The Diagonal Suite - Version 1.0 - 10/27/2025 //Author: Patrick H. //Description: Directional traversal and diagonal logic for 2D arrays. // Functions: // • Traverseλ - Directional traversal engine // • ByDiagλ - Diagonal-based aggregation // • DiagMapλ - Wrapper for diagonal matrix extraction // • DiagIndexλ - Targeted diagonal extraction // • Staircaseλ - Construct diagonal staircases from a vector or 2D array //──────────────────────────────────────────────────────────── //------------------------------------------------------------------------------------------- //Traverseλ - Directional Axis Remapper //------------------------------------------------------------------------------------------- //The selected axis is remapped to the top-left traversal order. //Accepted directions: // "NE" or 1 → Northeast (↗) // "SE" or 2 → Southeast (↘) // "SW" or 3 → Southwest (↙) //Parameters: //array → 2D input array (scalars not accepted) //new_axis → Axis direction ("NE", "SE", "SW" or 1–3) Traverseλ = LAMBDA( array, new_axis, //Input validation IF(OR(ROWS(array)=1,COLUMNS(array)=1), "#2D-ARRAY!", IF(AND(ISNUMBER(new_axis),OR(new_axis<=0,new_axis>3)),"#AXIS!", LET( //Dimensions i, ROWS(array), j, COLUMNS(array), //Axis traversal indices (deferred) x_NE, LAMBDA(SEQUENCE(j,,1,0)*SEQUENCE(,i)), y_NE, LAMBDA(SEQUENCE(j,,j,-1)*SEQUENCE(,i,1,0)), x_SE, LAMBDA(SEQUENCE(i,,i,-1)*SEQUENCE(,j,1,0)), y_SE, LAMBDA(SEQUENCE(i,,j,0)+SEQUENCE(,j,0,-1)), x_SW, LAMBDA(SEQUENCE(j,,i,0)+SEQUENCE(,i,0,-1)), y_SW, LAMBDA(SEQUENCE(j,,1)*SEQUENCE(,i,1,0)), //Axis mode selection mode, IF(ISNUMBER(new_axis),new_axis, SWITCH(new_axis,"NE",1,"SE",2,"SW",3,1)), //Index selection x, CHOOSE(mode,x_NE,x_SE,x_SW), y, CHOOSE(mode,y_NE,y_SE,y_SW), //Unwrap indices and get results result, INDEX(array,x(),y()), result ) ))); //------------------------------------------------------------------------------------------- //ByDiagλ - Diagonal-based aggregation //------------------------------------------------------------------------------------------- //Apply an ETA function or Lambda to diagonals //Parameters: //array → 2D input array (scalars not accepted) //[function] → ETA function or Lambda applied to diagonals //[row_wise_stack?] → Optional: Display results as a vertical stack ByDiagλ = LAMBDA( array, [function], [row_wise_stack?], //Check array input ValidateDiagλ(array,,function,row_wise_stack?, LET( //Optional parameters No_Function, ISOMITTED(function), No_row_wise_stack,ISOMITTED(row_wise_stack?), //Dimensions i, ROWS(array), j, COLUMNS(array), //Diagonal count k, MIN(i,j), //Indices - deferred r, LAMBDA(SEQUENCE(k)*SEQUENCE(,j,1,0)), y, LAMBDA(SEQUENCE(k)+SEQUENCE(,j,0,1)), c, LAMBDA(IF(y()>j,NA(),y())), //Unwrap indices, shape, and aggregate result, IFNA(INDEX(array,r(),c()),""), shaped, IF(No_row_wise_stack,result,TRANSPOSE(result)), final, IF(No_Function,shaped, IF(No_row_wise_stack,BYCOL(shaped,function), BYROW(shaped,function))), final ))); //------------------------------------------------------------------------------------------- //DiagMapλ - Wrapper (Calls ByDiagλ) to extract diagonals as 2D matrix //------------------------------------------------------------------------------------------- //Calls ByDiagλ to extract the diagonals from a 2D array. //Parameters: *Please see ByDiagλ for descriptions.** DiagMapλ = LAMBDA( array, [row_wise_stack?], ByDiagλ(array,,row_wise_stack?) ); //------------------------------------------------------------------------------------------- //DiagIndexλ - Targeted diagonal extraction //------------------------------------------------------------------------------------------- //Extract a diagonal or anti-diagonal vector from a 2D array. //Parameters: //array → 2D input array (scalars not accepted) //col_index → Column number to start from. Negative = anti-diagonal DiagIndexλ = LAMBDA( array, col_index, //Input checks ValidateDiagλ(array,col_index,,, LET( //Dimensions i, ROWS(array), j, COLUMNS(array), //Diagonal direction: +1 = SE, –1 = SW s, SIGN(col_index), //Determine diagonal length based on bounds k, IF(s>0, MIN(i, j + 1 - col_index), MIN(i, ABS(col_index))), start, IF(s<0,ABS(col_index),col_index), //Indices - deferred x, LAMBDA(SEQUENCE(k)), y, LAMBDA(SEQUENCE(k,,start,s)), //Unwrap indices and extract vector deliver, INDEX(array,x(),y()), deliver ))); //------------------------------------------------------------------------------------------- //Staircaseλ — Construct diagonal staircases from a vector or 2D array //------------------------------------------------------------------------------------------- //Parameters: //array → Input array (flattened to vector row-wise) //block_size → Number of rows/columns per staircase block //[block_offset] → Optional padding between staircases //[IsHorizontal?] → Optional toggle for column-wise orientation //[IsAntiDiag?] → Optional toggle to display staircase anti-diagonal. Staircaseλ = LAMBDA( array, block_size, [block_offset], [IsHorizontal?], [IsAntiDiag?], //Check inputs ValidateStaircaseλ(array,block_size,block_offset, LET( //Check optional parameters no_Block_Offset, ISOMITTED(block_offset), zero_Offset, block_offset=0, col_offset, IF(No_Block_Offset,0,block_offset), IsVertical?, ISOMITTED(IsHorizontal?), Not_Anti_Diag, ISOMITTED(IsAntiDiag?), //Convert to vector and get dimensions flat, TOCOL(array), k, COUNTA(flat), seq, LAMBDA(SEQUENCE(k)), V, TOROW(EXPAND(WRAPROWS(seq(),block_size),, block_size+block_offset,0)), width, COLUMNS(V), //Anchors and indices - deferred i, LAMBDA(SEQUENCE(block_size)*SEQUENCE(,width,1,0)), col_arr, LAMBDA(IF(Not_Anti_Diag,SEQUENCE(,width), SEQUENCE(,width,width,-1))), j, LAMBDA(MOD(col_arr(),block_size+block_offset)), j_, LAMBDA(IF((no_Block_Offset)+(zero_Offset), IF(j()=0,block_size,j()),j())), idx, LAMBDA(IF(i()=j_(),V,NA())), //Obtain results, shape, and calculate result, DROP(IFNA(INDEX(flat,idx()),""),,-col_offset), final, IF(IsVertical?,TRANSPOSE(result),result), final ))); //---------------------Error Handling & Validation--------------------------- //Validates inputs for Staircaseλ. Please see Staircaseλ for parameter //descriptions. ValidateStaircaseλ = LAMBDA( array, block_size, [block_offset], [on_valid], LET( //Checks NotArray,TYPE(array)<>64, Invalid_block_size, OR(ISTEXT(block_size),block_size<=0,block_size>COUNTA(array)), Invalid_block_offset, OR(ISTEXT(block_offset),block_offset<0), //Logic gate IF(NotArray, "#NOT-ARRAY!", IF(Invalid_block_size, "#BLOCK-SIZE!", IF(Invalid_block_offset,"#BLOCK-OFFSET", on_valid)))) ); //---------------------Error Handling & Validation--------------------------- //Validate inputs for ByDiagλ, DiagMapλ, and DiagIndexλ. //*Please see those functions for parameter descriptions.* ValidateDiagλ= LAMBDA( array, [col_index], [function], [row_wise_stack?], [on_valid], LET( //---Checks--- //Array input IsArray?, TYPE(array)=64, Not_Array, NOT(IsArray?), //Col_index No_Col_Index, ISOMITTED(col_index), Col_Index_Included, NOT(No_Col_Index), Not_Valid_Col_Index?, NOT(AND(col_index<>0, ABS(col_index)<=COLUMNS(array))), //Function No_Function, ISOMITTED(function), Function_Included, NOT(No_Function), Invalid_Function?, AND(ISERROR(BYROW({1,1},function))), //Shaping input RowWiseStack?, NOT(ISOMITTED(row_wise_stack?)), //Deterine which function is being validated DiagIndex, Col_Index_Included, ByDiag, AND(No_Col_Index, Function_Included), DiagMap, AND(No_Col_Index, No_Function), //Logic gates //DiagIndexλ a, IF(Not_Array, "#NOT-ARRAY!", IF(Not_Valid_Col_Index?,"#COLUMN-INDEX!", on_valid)), //ByDiagλ b, IF(Not_Array, "#NOT-ARRAY!", IF(Invalid_Function?, "#FUNCTION!", on_valid)), //DiagMapλ c, IF(Not_Array, "#NOT-ARRAY!", on_valid), //Logic gate selection decide, IF(DiagIndex,a, IF(DiagMap,c, IF(ByDiag,b, "#UNROUTED!"))), decide )); //End of The Diagonal Suite - Version 1.0 //Author: Patrick H.8Views0likes0CommentsHelp Needed: Add Interactive Dashboard to Landowner Engagement Tracker (Same Sheet)
Hi all, I’ve built a basic Excel tracker to monitor engagement with landowners for a large infrastructure project. The purpose of the tracker is to: Show progress tracking of each case of for the project director to monitor progress help the Project Director Identify which cases may require statutory powers to secure access (if voluntary agreement isn’t possible) This helps our leadership team make informed decisions quickly. What I’ve got: A sheet called "LANDS RIGHT TRACKER" Columns include: Reference Number Agreement Status Case Status Risk Level (High/Medium/Low) Willingness to enter agreement Reason for refusal Flag for whether statutory powers may be needed 🛡️ All data is fictitious — names and details are placeholders, so no privacy concerns. What I need help with: my level of excel knowledge is very basic and I was hoping for some assistance to: Add an interactive dashboard and key metrics directly on the same sheet (not a separate worksheet). The below is just my suggestions as you are the expert your guidance expertise is much welcomed, happy for you to put it straight on to the tracker as I have left a section on the tracker for you to insert your items Ideally using a Pivot Table and Slicers to filter by: Case Status Risk Level Agreement Status Willingness to enter agreement https://docs.google.com/spreadsheets/d/1c2IJ-YLsTN-DZE9ltw0JR-nGVuuGzTKE/edit?usp=drivesdk&ouid=104511246399228274463&rtpof=true&sd=true26Views0likes1CommentQuery failure in Windows 11
Hi I just had a new computer at work, and changed from windows 10 to windows 11. I have a query, which compare 2 tables, and add rows in table2 that dont exits in table1. This has been working for years, but now it, only sometimes, double all the rows. INSERT INTO MPS Columns from Table2 (Access linked to sharepoint) SELECT MPS2. Columns from table1 FROM MPS2 WHERE not exists (Select 1 from MPS WHERE MPS.[MPSid] = MPS2.[MPSid]); It compares a unik field MPSid It doubles the rows sometimes, and the MPSid is the same, in the doubled rows Has something changed, or is there a workaround? Best Regards Tony61Views0likes3CommentsOffice apps simply disappeared??
A user under a Microsoft 365 Business Standard (formerly O365 Business Premium) license reported to me today that all Office 365 apps have disappeared from her Win 10 Pro computer. No errors, nothing, the software is simply gone. Googling on this, most people focus on missing icons. This is not that. The software is gone completely, nothing in Apps, except the generic Office Click to Run icon that's usually found on Win 10 machines whether Office was actually installed or not. Malware is not suspected on this one. The only slight clue I have on this is that, given that it's gone, I decided to first just re-download the installer after logging into office.com. Running the installer, it tells me an installation is already in progress, yet there are no taskbar/notification area icons. Task Manager shows some OfficeC2R stuff, which I tried to End Task. It wouldn't end, it would just pop back up again in Task Manager (but again nothing in the actual UI). I did the Open File Location, found the exe for this thing, renamed it with .old, (surprisingly it let me without hassle), and upon doing that, I then was able to kill the now-memory-only OfficeC2R exe file from Task Manager. This then let me start the installer I had downloaded, which is currently in progress for downloading (though, extremely slowly, despite a 19ms / 120Mbps connection - MS having issues I wonder? - 11:35 AM Eastern May 15 2020). So I suspect in some kind of dumb way, Office was updating itself and screwed up? The last Windows update was May 12, the quality update for .net framework. I'm not actually sure where to look in the event logs for stuff related to install/uninstall for Office - the started Application log shows msiinstaller stuff related to my installing it, but keyword searching for "office" shows nothing that points to a removal or an update of the software. *sigh*. F'ing computers.66KViews4likes21CommentsMS Forms branching option is not visible to individual answers in multiselect question
HELLO, I am working on a form. Question type is choice where user can select "Multiple Answers" and based on selected answer, subsequent question should be visible. To achieve this, i want to add branching to main question but i do not see the option to do so. How to achieve this ? NO branching option :31Views0likes1CommentModernizing Sensitivity Label Grouping for App Display
Microsoft announced the modernization of grouping for sensitivity labels to a new “dynamic architecture.” It doesn’t take much to be more dynamic than the previous parent-child arrangement. Even if the announcement is a tad overhyped, it’s still goodness because administrators can now move labels between label groups in a way that wasn’t possible before. The new way of displaying labels should be everywhere in December 2025. https://office365itpros.com/2025/10/29/sensitivity-labels-groups/16Views1like0CommentsFormula in Excel Spreadsheet not work
Hi Sir, Picture 1 shows the desired condition, where the row of the spreadsheet turns orange when the SPT (N) is more than 50. However, it will not work where the SPT (N) at row 47 become 0. All rows below row 48 become orange colour as picture 2. https://mega.nz/folder/g5dizZqR#7Pk7eyU0hXZTL6sj3qVJ-g. We attach the file in follows link for your further action. Thanks.42Views0likes1CommentUnified Company Calendar for Mixed Microsoft 365 and Non-365 Users – 2025
Seeking a Shared Calendar Solution for Mixed Microsoft 365 and Non-365 Users I’m working on a solution to create a shared company calendar that everyone in our organization can view, while keeping editing permissions limited to a few selected individuals. The challenge: Some of our team members do not use Microsoft 365, and I’d like them to still be able to subscribe to or view the calendar and receive updates. Ideally, this should work without requiring full Microsoft accounts. I initially considered using an ICS-based calendar, but it seems Microsoft 365 Group calendars don’t support sharing via ICS links. I also explored creating a Group calendar as suggested in other threads, but ran into issues making it accessible to external users or those without 365 accounts. For context, I’m a Global Admin, so I have full access to configure settings in the Microsoft 365 Admin Center and Exchange if needed. We’re a small business, and our main goal is to have a centralized calendar for vacation schedules and company-wide events. It should be simple to access and maintain, with a focus on collaboration and accessibility across the board. What I’m looking for: A calendar that’s viewable by all, including non-M365 users Editable only by a few delegated team members Compatible with Microsoft 365, but not dependent on it for basic access Any tools, workarounds, or best practices that have worked for others in similar hybrid environments5Views0likes0CommentsLoop development has seemingly stopped
Our team adopted Loop since many of us prefer the personal knowledge management system style of Notion or Obsidian to other classic note-taking and sharing software. However, many core features are still not present that have been Day 1 features of these other tools, and a quick check of the Loop Roadmap leads me to believe that most features will be security/governance focused. That's disappointing if true, because right now Loop is clearly inspired by those tools, but incredibly far behind in a way that makes it hard to justify their continued use. For example: Cannot embed documents inside Loop-- in Notion you can just drag and drop a PDF to upload, and the /embed command lets you put an interactive document inside the page Cannot select multiple pages to re-arrange structure No Copilot to perform page cleanup-- Notion lets you use AI to fix formatting, and it works very well. No command palette-- this is a must for operating in a knowledge management system No Mac app No mind map a la Obsidian I could continue to produce these examples, but I am hoping to find out that once some core governance features are completed, Microsoft will be focusing some development efforts on improving this platform-- we hope it is not abandonware a few years into it's launch.80Views3likes1CommentMicrosoft Loop integration with Jira
Microsoft announced Loop integration with Jira. https://twitter.com/MicrosoftLoop/status/1691087283477229568 I have tested and it seems it will only work with Jira Cloud. Is there any possibility it will work with Jira Server also? Thanks!12KViews0likes5CommentsExcel/VBA Worksheet_Change function running old version
I wrote a Worksheet_Change function initially. It worked. If I entered an incorrect value I got an error message, let's say the msgbox said "Error: A". Then I changed the error message to read "Error B". No matter what I have tried to do, rename the sheet, Debug>Compile VBA Project, etc, nothing can remove the old error message from appearing. I have tried every suggestion Copilot has made without success. I rebooted my machine. I am using Microsoft Office for Home and Student 2021 running on Windows 11 Pro. Does anyone know what might be the matter? Microsoft chat was totally useless and I am pretty sure Copilot is masquerading as a human in chat support because the wording and suggestions mirrored exactly what I encountered with Copilot, so that was a giant waste of my time. If there's anyone who can help, I would welcome hearing from you with suggestions.25Views0likes1CommentData Import issue???
I am working on a drift formula for items being pushed by wind and waves on the water. I imported a text file of weather data, formatted all the data to numbers, and built an "if" formula to convert the wind direction into drift direction. Wind from 360 degrees (north) would cause an item to drift 180 degrees (south). The problem is the formula sees everything as false. Is this a formatting issue with the imported text? =IF(B28<180,B28+180,B28-180)28Views0likes1CommentAgent Mode continuously loading
Hi all, I installed Excel Labs today and have tried to use https://www.microsoft.com/en-us/microsoft-365/blog/2025/09/29/vibe-working-introducing-agent-mode-and-office-agent-in-microsoft-365-copilot/ for Excel in the web. However, no matter which prompt I use, it just loads continuously, even when left for hours. Has anyone got this working? Or know how to resolve this? I appreciate it's a Preview feature, so happy to wait if it's a temporary glitch, but thought it'd be worth checking.129Views1like7Comments
Events
Recent Blogs
- Your favorite Microsoft 365 apps now feature Liquid Glass styling and a new search experience for templates.Oct 29, 2025109Views0likes0Comments
- 3 MIN READThis month, we explore why metadata unlocks smarter responses from Copilot and agents, and how Knowledge Agent in SharePoint can streamline the process of adding metadata to files.Oct 29, 202595Views0likes0Comments