User Profile
Lorenzo
Silver Contributor
Joined Sep 04, 2017
User Widgets
Recent Discussions
Re: Stacked Excel Formula
Hey IlirU (It's been a while...). I haven't tried to "debug" your formula but think I saw somewhere: IFERROR( TEXTBEFORE(br, " ", LEN(br) - LEN( SUBSTITUTE(br, " ", "") ) ), br ) TEXTBEFORE last arg. - [if_not_found] - could be used instead: TEXTBEFORE(br, " ", LEN(br) - LEN( SUBSTITUTE(br, " ", "") ),,, br) Cheers Lz.32Views0likes1CommentRe: Link 2 sheets, then sort column A on sheet 2 alphabetically and match correct data
Hi MeretrixRex Thanks much for updating the case with your solution 👍- too few people do this 🙁. Couple of comments if I may: With CHOOSECOLS(..., 1, 3, 15, 16) the column indexes are hard-coded ==> If you later insert/move/delete column(s) before column index #16 in your table the formula won't work anymore INDEX(Vacancy,,5) - does the same as CHOOSECOLS(Vacancy, 5) ==> Same comment as above CHOOSECOLS is done after FILTERing all table columns ==> A bit inefficient If you're interested & provide the current names of columns 1, 3, 15, 16 in table Vacancy, a more flexible solution exists...42Views1like0CommentsRe: Link 2 sheets, then sort column A on sheet 2 alphabetically and match correct data
The checkboxes on the 1st picture suggests 365 is in use An anonymized sample takes less than 5 minutes to put in place Order of the data in the source Table doesn't matter With 365 that could be something like (once required/target columns are known):59Views2likes0CommentsRe: Top n vs. Others in Excel
Hi Anonymous29007 / YP I don't think the 'Zero Width Space' hack has a lot of used cases so I took a bit of time to document it, just in case a similar requirement surfaces in the future… While doing this I realized there was an opportunity to do a tiny - really tiny - optimization on the formula you've been using so far. In attached v2b, I changed: brandRanks_Desc, SEQUENCE(, brandCount, brandCount, -1 ), with: brandRanks_Desc, SEQUENCE(, brandCount, brandCount -1, -1 ), the reason is explained in NOTES #1 of the HOW-TO_PVT_CustomFieldsOrder file, with an example in sheet 'AS_LAST' Hope this makes sense. Any question let me know Cheers Lz. PS: The Chart issue with the dynamic array has been reported to MSFT…2Views1like1CommentRe: Chart updates inconsistently when dynamic array resizes
Things have evolved with Version 2602 - Build 19725.20014 => Revised this discussion title (was: Chart from dynamic array challenge) Chart data range will eventually be properly updated/restored - after 1 to n array resizing - in situations like: but won't - according to attached tests - in situations like: Attached zipped files: 26-02-07_SAMPLE_YearAsDate: [Year] converted as Date + <false blank> replaced with 0 26-02-07_SAMPLE_YearAsText: [Year] converted as Text + <false blank> replaced with 0 26-02-10_TESTS_ChartDynArray (tests conducted by someone else) 2026-02-10 Reported a problem to MSFT21Views0likes0CommentsRe: Excel Data Model + Databricks (ODBC) - Slicers Causing Major Performance Slowdowns
Hi Won't be able to help at all with this & you did not mention where you Databricks sits (Azure/AWS...) so not sure the following pointers are relevant… Performance issues with multiple slicers in "Analyze in Excel" Databricks ODBC Driver download Looks like version >/= 2.6.15 is the min. in your context Create an ODBC DSN-less connection string for the Databricks ODBC Driver Driver capability settings for the Databricks ODBC Driver Databricks ODBC Driver (MSFT) Create an ODBC DSN for the Databricks ODBC Driver (MSFT) Databricks Community Depending on the ODBC Driver capabilities some little optimizations might be possible… Excel 2508 PivotTable Data Model Slowdown: Power Pivot Regression, Slicer Lag... Workarounds TRUE/FALSE? No idea basically just SELECT * from individual tables. The tables are quite large, with the biggest one having around 5 million rows In such a context wonder if SELECT * is the best option adding slicers slows the report down significantly. I’ve tried suggesting using PivotTable filters instead I would test perf. using the Pivot Charts filters (instead of the slicers). If by any chance perf. are better, would this be acceptable workaround would be the next question to the user Forgive me if this is all irrelevant13Views0likes0CommentsRe: Excel - single window, more files
Hi CodeKamil I've recently switched to new Excel... You were probably running Excel <= 2010 that was using a Single Document Interface (SDI). Since Excel 2013 the latter uses a Multiple Document Interface (MDI) - see Comparing Single and Multiple Document Interfaces for more info. Is it possible to convince Microsoft that they should find a solution to problem they created? The above article should answer your question45Views0likes0CommentsRe: Top n vs. Others in Excel
Hi Anonymous29007 / YP I'm so sorry for responding late. This didn't show up in my notifications No worries at all (this site currently bugs on file attachments & notifications) Defined Name 'PivotBrands' that refers to the top-left cell of the PivotTable (also renamed PivotBrands) For clarity/alignment, renamed 'Source_PivotTable' as 'Source_PivotBrands' On CALCS!F4 an on-sheet LAMBDA named 'PivotBrands_Refresh_Status' (Done on UI sheet) Wherever you want enter =PivotBrands_Refresh_Status & copy/paste special the format* (only) from CALCS!F4 (* Conditional Format w/Icon Set) NB: this doesn't prevent you from renaming the sheets PivotBrands_Refresh_Status: =LAMBDA(pivot_table,pivot_data_source, LET( ASSUMPTION_1, "Only 1 row_field and only 1 column field in 'DataSource' are Pivoted.", ASSUMPTION_2, "The same 'col_field_name' is used in 'DataSource' & 'pivot_data_source'.", Pivoted_DataSource, LET( PivotSource_array, DROP(pivot_data_source, 1), pivoted, PIVOTBY( CHOOSECOLS(PivotSource_array, 1), CHOOSECOLS(PivotSource_array, 2), CHOOSECOLS(PivotSource_array, 3), SUM, 0, 0, 1, 0, -2 ), SPECIFIC_CUSTOM, "Actual pivot_table Headers are preceded w/Zero Width Spaces to push 'TOPN_GROUPED_Names' at end.", cleaned_headers, SUBSTITUTE( TAKE(pivoted, 1), UNICHAR(8203), ""), initial_order, SEQUENCE(, COLUMNS(pivoted) ), custom_order, IF( cleaned_headers = SETTINGS!TOPN_GROUPED_Names, MAX(initial_order), initial_order -1), SORTBY( pivoted, custom_order ) ), Row_fields_count, ROWS(Pivoted_DataSource) -1, Col_fields_count, LET( DataSource, TableSource[#All], data_headers, TAKE(DataSource, 1), data_col_field_name, INDEX(pivot_data_source, 1, 2), data_col_field_index, XMATCH(data_col_field_name, data_headers), ROWS( UNIQUE( CHOOSECOLS( DROP(DataSource, 1), data_col_field_index) ) ) ), PivotTableAs_array, LET( PivotStart_address, CELL("address", pivot_table), pivot_start_row, VALUE( REGEXEXTRACT(PivotStart_address, "(?<=\$)\d+$" ) ), pivot_start_col, COLUMN( INDIRECT( REGEXEXTRACT(PivotStart_address, "(?<=\$)[^$]+(?=\$)" ) & "1" ) ), Pivot_ASSUMPTIONS, "No field in Filters area & 1 field in Rows area", pivot_end_row, pivot_start_row +1 +Row_fields_count, pivot_max_bottom_addr, ADDRESS(pivot_end_row, pivot_start_col +Col_fields_count), pivot_max_used_range, INDIRECT( TEXTJOIN(":",, PivotStart_address, pivot_max_bottom_addr) ), array_resized_V, DROP(pivot_max_used_range, 1), array_resized_H, FILTER(array_resized_V, MMULT( SEQUENCE(, Row_fields_count +1), --NOT( ISBLANK(array_resized_V) ) ) ), IF( TAKE(array_resized_H, 1, 1) = "", array_resized_H, VSTACK( HSTACK( "", DROP( TAKE(array_resized_H, 1),, 1) ), DROP(array_resized_H, 1) ) ) ), OUTPUT, "1 if pivot_table is up to date, 0 otherwise", N( SUM( TOCOL(--(PivotTableAs_array = Pivoted_DataSource), 2) ) = COUNTA(Pivoted_DataSource) ) ) )(PivotBrands, Source_PivotBrands) Any question let me know Cheers Lz.0Views1like3CommentsRe: Top n vs. Others in Excel
Hi Anonymous29007 A friend of mine with a different issue is also concerned about the unavailability of the Pivot Auto Refresh functionality. In the meantime she wanted a visual flag to remind users to Refresh the PivotTable when required. It's been implemented with a Green/Red icon above the PivotTable: Due to the hack we put in place to sort the [Brand] as expected on the PivotTable the above solution requires a little customization. Before I spend time on this, are you interested? If you are I need to know if you made changes - other than updating your data in TableSource - to the last wbook I shared (PivotChart_v2). Let me know… Lz.4Views1like5CommentsChart updates inconsistently when dynamic array resizes
Hi (Excel 365 v2601 b19628.20132 Current Channel / Windows 11 25H2) Initial post edited (& cross posted here on Jan 29, 2026) after further investigations In B6 below an array that dynamically resizes according to the 'START Year' & 'TOPN Cat' variables. The Chart is setup as follow: Select an empty cell > Insert 2-D Line chart Right-click > Select Data… > Chart data range > Select the Serie names & Values (C6:G12) Click Edit under Horizontal (Category) Axis Labels > Select the range with the Years (B7:B12) Check of the Chart data range: Changing 'START Year' works no problem: the Chart data range & Horizonal Axis Label range are properly updated Changing 'TOPN Cat' (the array resizes horizontally) screws up the chart: The Chart data range is properly updated but the Series & Axis Label ranges don't update accordingly Q: Am I doing something wrong, facing a limitation or is this something else? Tried to attach the sample file 3 times... it's available at: Dynamic_Chart_Challenge.xlsx Thanks & any question let me know Lz.540Views1like8CommentsRe: Stacked Excel Formula
Hi (initial post edited - due credit m_tarler) in H11: =OUT_PARAMETER( D11:D12, H11:H12, I11:I12 ) where OUT_PARAMETER is LAMBDA: =LAMBDA([ref_1],[ref_2],[ref_3], 3 - SUM( IF(ISOMITTED(ref_1), 1, COMPARE_TOPARAMETER(ref_1)), IF(ISOMITTED(ref_2), 1, COMPARE_TOPARAMETER(ref_2)), IF(ISOMITTED(ref_3), 1, COMPARE_TOPARAMETER(ref_3)) ) ) and COMPARE_TOPARAMETER: =LAMBDA(reference, LET( RefValue, TAKE( reference, 1, 1 ), comparerStr, TAKE( reference, -1, 1 ), IF( comparerStr = 0, 1, LET( Operator, TRIM(TEXTBEFORE(comparerStr, {0, 1, 2, 3, 4, 5, 6, 7, 8, 9})), afterOperator, TRIM(TEXTAFTER(comparerStr, Operator)), ComparerValue, VALUE(TEXTBEFORE(afterOperator, " ", , , , afterOperator)), --CHOOSE( XMATCH(Operator, {"<", "≤", "=", "≥", ">"}), RefValue < ComparerValue, RefValue <= ComparerValue, RefValue = ComparerValue, RefValue >= ComparerValue, RefValue > ComparerValue ) ) ) ) ) LAMBDAs are stored in Name Manager of the attached wbook2Views0likes0CommentsRe: Power Query - How Do I Count a Number of Entries Based on Another Column?
jeaster SergeiBaklan file attachment didn't persist (a current random issue on this site). Trying to attach mine and in case this doesn't work, below is the corresponding query code (with the UI only) where CurrentTable reflects the picture you posted and SummarizedQty being the result (same as the pic. posted on my previous reply) Variant is derived from SummarizedQty - output is as Sergei // CurrentTable let Source = Excel.CurrentWorkbook(){[Name="CurrentTable"]}[Content], ChangedTypes = Table.TransformColumnTypes( Source, { {"Polo Cut", type text}, {"Polo Sizing", type text}, {"Red Polo Quantity", Int64.Type}, {"Blue Polo Quantity", Int64.Type}, {"Tan Polo Quantity", Int64.Type} } ) in ChangedTypes // SummarizedQty let Source = CurrentTable, #"Unpivoted Other Columns" = Table.UnpivotOtherColumns( Source, {"Polo Cut", "Polo Sizing"}, "Attribute", "Value" ), #"Grouped Rows" = Table.Group( #"Unpivoted Other Columns", {"Polo Cut", "Polo Sizing", "Attribute"}, { {"Quantity", each List.Sum([Value]), type number} } ), #"Replaced Value" = Table.ReplaceValue( #"Grouped Rows"," Quantity", "", Replacer.ReplaceText, {"Attribute"} ), #"Renamed Columns" = Table.RenameColumns( #"Replaced Value", { {"Attribute", "Color Polo"} } ) in #"Renamed Columns" // Variant let Source = CurrentTable, #"Unpivoted Other Columns" = Table.UnpivotOtherColumns( Source, {"Polo Cut", "Polo Sizing"}, "Attribute", "Value" ), #"Grouped Rows" = Table.Group( #"Unpivoted Other Columns", {"Polo Cut", "Polo Sizing", "Attribute"}, { {"Quantity", each List.Sum([Value]), type number} } ), #"Replaced Value" = Table.ReplaceValue( #"Grouped Rows"," Quantity", "", Replacer.ReplaceText, {"Attribute"} ), #"Renamed Columns" = Table.RenameColumns( #"Replaced Value", { {"Attribute", "Color Polo"} } ), #"Inserted Merged Column" = Table.AddColumn( #"Renamed Columns", "Polo", each Text.Combine({[Polo Cut], [Polo Sizing], [Color Polo]}, " "), type text ), #"Removed Other Columns" = Table.SelectColumns( #"Inserted Merged Column", {"Quantity", "Polo"} ), #"Reordered Columns" = Table.ReorderColumns( #"Removed Other Columns", {"Polo", "Quantity"} ) in #"Reordered Columns"0Views3likes0CommentsRe: Formula help
Nice one OliverScheurich Looks like kayem doesn't see the benefits of Structured Tables yet - mentioning the main in case this could make a difference in the future... Dynamic ranges (instead of provisioning i.e. 1K rows when 100 are actually used) = efficiency Using structured references make formula more comprehensive Formulas, cells formatting, conditional formats, data validation… auto. apply to new rows added to the Table If the Table Total Row is activated and contains formulas using structured ref., new rows are picked up auto ...13Views1like0Comments
Recent Blog Articles
No content to show