Closed2
表計算ソフトのA1形式のためのヘルパ関数を書いた (js / ts)
spreadsheet.ts
export const A = (n: number): string => {
const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
if (--n < 0) return ''
return A(Math.floor(n / alphabet.length)) + alphabet[n % alphabet.length]
}
spreadsheet.spec.ts
import { describe, expect, test } from 'vitest'
import { A } from '@/lib/spreadsheet'
describe('spreadsheet', () => {
test('to A1 Convert', () => {
expect(A(0)).toBeFalsy()
expect(A(1)).toBe('A')
expect(A(2)).toBe('B')
expect(A(25)).toBe('Y')
expect(A(26)).toBe('Z')
expect(A(27)).toBe('AA')
expect(A(52)).toBe('AZ')
expect(A(53)).toBe('BA')
expect(A(702)).toBe('ZZ')
expect(A(703)).toBe('AAA')
expect(A(18278)).toBe('ZZZ')
})
})
このスクラップは2024/08/12にクローズされました