diff --git a/crates/formula/src/lexer.rs b/crates/formula/src/lexer.rs index 83ea78a86..332cb6eeb 100644 --- a/crates/formula/src/lexer.rs +++ b/crates/formula/src/lexer.rs @@ -346,7 +346,7 @@ pub fn tokenize_locale(src: &str, locale: crate::FormulaLocale) -> Result(), p))); k > j + 1 && ch(k) == Some('!') && !repeats_sheet } { let mut k = j + 1; diff --git a/crates/formula/src/tests.rs b/crates/formula/src/tests.rs index 2318a8b29..a7506aa4b 100644 --- a/crates/formula/src/tests.rs +++ b/crates/formula/src/tests.rs @@ -10,6 +10,8 @@ fn range_end_repeating_sheet_name_round_trips() { assert_eq!(rt("'a'!A1:'a'!B2"), "a!A1:a!B2"); assert_eq!(rt("Sheet1!A1:Sheet1!B2"), "Sheet1!A1:Sheet1!B2"); assert_eq!(rt("SUM(a!A1:a!B2)"), "SUM(a!A1:a!B2)"); + // Sheet names match without regard to case, as Excel's do. + assert_eq!(rt("Sheet1!A1:SHEET1!B2"), "Sheet1!A1:SHEET1!B2"); } #[test]