Hướng dẫn Chuyển đổi SỐ thành CHỮ trong Google Sheet tự động cực kỳ nhanh chóng
  1. Home
  2. Tin học văn phòng
  3. Hướng dẫn Chuyển đổi SỐ thành CHỮ trong Google Sheet tự động cực kỳ nhanh chóng
Nguyễn Văn Luyến 2 năm trước

Hướng dẫn Chuyển đổi SỐ thành CHỮ trong Google Sheet tự động cực kỳ nhanh chóng

Bước 1: Tạo 1 sheet mới tại đây:spreadsheet.new

Bước 2: Tạo App Script trên sheet đang sử dụng

Bước 3: Dán đoạn code bên dưới vào và lưu lại

/**
 * App Script Google Sheet
 * Chuyển số thành chữ tiền tệ Việt Nam Đồng.
 * Sản phẩm của CỌP - Thành viên WPVNTEAM
 * Vui lòng ghi rõ nguồn nếu sao chép lại code
 * 
 * @param {number} input The value to convert.
 * @return The number in VNĐ
 */
function VND(input) {
  const output = [];
  const ty = Math.floor(input / 1000000000);
  if (input >= 1000000000) {
    output.push(`${ty} tỷ`);
  } else {
    const ty = 0;
  }
  const trieu = Math.floor(input - (ty*1000000000));
  const httrieu = Math.floor(trieu / 1000000);
  if (trieu >= 1000000) {
    output.push(`${httrieu} triệu`);
  }
  const nghin = ((ty*1000000000) + (httrieu*1000000));
  const ssnghin = Math.floor(input - nghin);
  const htnghin = Math.floor(ssnghin / 1000);
  if (ssnghin >= 1000) {
    output.push(`${htnghin} ngàn`);
  }
  const dong = ((ty*1000000000) + (httrieu*1000000) + (htnghin*1000));
  const htdong = Math.floor(input - dong);
  if (htdong > 0) {
    output.push(`${htdong} đồng`);
  }
  return [...output, ''] //Before Price VNĐ
    .join(' ')
    .split(/\s/)
    .filter((e) => e)
    .map((e) => e.substr(0, 1).toUpperCase() + e.substr(1))
    .join(' ');
}

//Điều kiện: số tiền phải lớn hơn 1 triệu
function BDS(input) {
  const output = [];
    const ty = input / 1000000000;
    if (input >= 1000000000) {
      output.push(`${ty.toLocaleString()} tỷ`);
    } else {
    const ty = 0;
    const trieu = Math.floor(input - (ty*1000000000));
    const httrieu = Math.floor(trieu / 1000000);
    if (trieu < 1000000000 && trieu > 1000000) {
      output.push(`${httrieu.toLocaleString()} triệu`);
    }
  }
  return [...output, ''] //Before Price VNĐ
    .join(' ')
    .split(/\s/)
    .filter((e) => e)
    .map((e) => e.substr(0, 1).toUpperCase() + e.substr(1))
    .join(' ');
}

Bước 4: Để sử dụng full text dùng hàm

=VND($bien)

Sử dụng cho sản phẩm là Bất Động Sản hoặc TMĐT dùng hàm

=BDS($bien)

image

Vui lòng ghi rõ nguồn WPVNTEAM khi sao chép lại thông tin này.
Chúc các bạn thành công:kissing_heart:

Update phiên bản 2.0

 

 

/**
 * App Script Google Sheet v2
 * Chuyển số thành chữ tiền tệ Việt Nam Đồng.
 * Sản phẩm của TIẾN CỌP - Thành viên WPVNTEAM
 * Vui lòng ghi rõ nguồn nếu sao chép lại code
 * 
 * @param {number} input The value to convert.
 * @return The number in VND
 */

function VND(input) {
  const output = [];
  const ty = Math.floor(input / 1000000000);
  if (input >= 1000000000) {
    output.push(`${phantram(ty)} tỷ`);
  } else {
    const ty = 0;
  }
  const trieu = Math.floor(input - (ty*1000000000));
  const httrieu = Math.floor(trieu / 1000000);
  if (trieu >= 1000000) {
    output.push(`${phantram(httrieu)} triệu`);
  }
  const nghin = ((ty*1000000000) + (httrieu*1000000));
  const ssnghin = Math.floor(input - nghin);
  const htnghin = Math.floor(ssnghin / 1000);
  if (ssnghin >= 1000) {
    output.push(`${phantram(htnghin)} nghìn`);
  }
  const dong = ((ty*1000000000) + (httrieu*1000000) + (htnghin*1000));
  const htdong = Math.floor(input - dong);
  if (htdong > 0) {
    output.push(`${phantram(htdong)}`);
  }

  const tens = input % 100;
  if (tens > 0) {
    if (input > 100) output.push('lẻ');
    output.push(`${phantram(tens)}`);
  }

  return [...output, 'đồng'] //Before Price VNĐ
    .join(' ')
    .split(/\s/)
    .filter((e) => e)
    .map((e) => e.substr(0, 1).toLowerCase() + e.substr(1)) //Chữ In Hoa toUpperCase()
    .join(' ');
}

function mot(number) {
  const motso = ['', 'một', 'hai', 'ba', 'bốn', 'năm', 'sáu', 'bảy', 'tám', 'chín'];
  return motso[number] || '';
}

function muoi(number) {
  const teens = ['mười','mười một','mười hai','mười ba','mười bốn','mười lăm','mười sáu','mười bảy','mười tám','mười chín'];
  return teens[number] || '';
}

function haimuoi(number) {
  const tens = ['', '', 'hai mươi', 'ba mươi', 'bốn mươi', 'năm mươi', 'sáu mươi', 'bảy mươi', 'tám mươi', 'chín mươi'];
  return tens[number] || '';
}
function mottram(number) {
  const mts = ['không trăm', 'một trăm', 'hai trăm', 'ba trăm', 'bốn trăm', 'năm trăm', 'sáu trăm', 'bảy trăm', 'tám trăm', 'chín trăm'];
  return mts[number] || '';
}

function phantram(num) {
  if (num > 0 && num < 10) {
    return mot(num);
  }
  if (num >= 10 && num < 20) {
    return muoi(num % 10);
  }
  if (num >= 20 && num < 100) {
    return `${haimuoi(Math.floor(num / 10))} ${mot(num % 10)}`;
  }
  if (num >= 100 && num < 1000) {
    const atram = Math.floor(num / 100);
    const amuoi = (num - (atram * 100)) / 10;
    const aso = num % 10;
    return `${mottram(atram)} ${haimuoi(amuoi)} ${mot(aso)}`;
  }
  return '';
}

function VNDN(input) {
  const output = [];
  const ty = Math.floor(input / 1000000000);
  if (input >= 1000000000) {
    output.push(`${ty} tỷ`);
  } else {
    const ty = 0;
  }
  const trieu = Math.floor(input - (ty*1000000000));
  const httrieu = Math.floor(trieu / 1000000);
  if (trieu >= 1000000) {
    output.push(`${httrieu} triệu`);
  }
  const nghin = ((ty*1000000000) + (httrieu*1000000));
  const ssnghin = Math.floor(input - nghin);
  const htnghin = Math.floor(ssnghin / 1000);
  if (ssnghin >= 1000) {
    output.push(`${htnghin} nghìn`);
  }
  const dong = ((ty*1000000000) + (httrieu*1000000) + (htnghin*1000));
  const htdong = Math.floor(input - dong);
  if (htdong > 0) {
    output.push(`${htdong}`);
  }
  return [...output, 'đồng'] //Before Price VNĐ
    .join(' ')
    .split(/\s/)
    .filter((e) => e)
    .map((e) => e.substr(0, 1).toLowerCase() + e.substr(1)) //Chữ In Hoa toUpperCase()
    .join(' ');
}

Để sử dụng chữ dùng hàm

=VND($bien)

Để sử dụng số + chữ dùng hàm

=VNDN($bien)

Cám ơn các bạn đã đóng góp ý kiến để hoàn thiện hơn:kissing_heart:

Nguồn: //wordpressvn.com/t/huong-dan-chuyen-doi-so-thanh-chu-trong-google-sheet-tu-dong-cuc-ky-nhanh-chong

4 lượt xem | 0 bình luận
Chia sẽ niềm đam mê
Luôn luôn lắng nghe, lâu lâu mới hiểu

Avatar

Bình luận gần đây

//rongcon.net
Nguyễn Văn Luyến 1 tuần trước
Chuẩn bị lại lên giá
//rongcon.net
Chuyển Đổi Số 5 tháng trước
Có trang nguồn mình tải á, bạn qua trang đó xem thử. Mình cài được bình thường á
//rongcon.net
Chuyển Đổi Số 5 tháng trước
Mỉnh cũng thấy cái gì hay hay lưu lại trên trang cá nhân khi nào cần lấy ra dùng thôi à. Cảm ơn bạn nhiều!
//rongcon.net
quang tuấn 5 tháng trước
ok cám ơn add
//rongcon.net
Đàm kiên 10 tháng trước
sao không thấy hướng dẫn khắc phục lỗi the macro vậy
//rongcon.net
Đàm kiên 10 tháng trước
file tải về chỉ có 3 file hướng dẫn chứ không có file cài đặt nhé
//rongcon.net
Nguyễn Văn Luyến 12 tháng trước
Bài viết hay
//rongcon.net
Nguyễn Văn Luyến 3 năm trước
Đã có phần mềm mới áp dụng theo Nghị định 30 chưa ạ, nếu có Thầy cho em xin với nhé. Em cảm ơn Thầy nhiều ạ!
ZaloMessengerEmail
Đồng ý Cookie
Trang web này sử dụng Cookie để nâng cao trải nghiệm duyệt web của bạn và cung cấp các đề xuất được cá nhân hóa. Bằng cách chấp nhận để sử dụng trang web của chúng tôi