LastIndexOf char in Excel

LastIndexOf char in Excel

Ví dụ:

Cho chuỗi https://example.com/archive/January

Yêu cầu lấy chuỗi con cuối cùng sau dấu /

=RIGHT(A2,LEN(A2)-FIND(“@”,SUBSTITUTE(A2,”/”,”@”,LEN(A2)-LEN(SUBSTITUTE(A2,”/”,””))),1))

Phân tích mã

  • SUBSTITUTE(A2,”/”,“”) – This part of the formula replaces the forward slash with an empty string. So for example, In case you want to find the occurrence of any string other than the forward slash, use that here.
  • LEN(A2)-LEN(SUBSTITUTE(A2,”/”,“”)) – This part would tell you how many forward slashes are there in the string. It simply subtracts the length of the string without the forward slash from the length of the string with forward-slashes.
  • SUBSTITUTE(A2,”/”,”@”,LEN(A2)-LEN(SUBSTITUTE(A2,”/”,””))) – This part of the formula would replace the last forward slash with @. The idea is to make that character unique. You can use any character you want. Just make sure it’s unique and doesn’t appear in the string already.
  • FIND(“@”,SUBSTITUTE(A2,”/”,”@”,LEN(A2)-LEN(SUBSTITUTE(A2,”/”,””))),1) – This part of the formula would give you the position of the last forward slash.
  • LEN(A2)-FIND(“@”,SUBSTITUTE(A2,”/”,”@”,LEN(A2)-LEN(SUBSTITUTE(A2,”/”,””))),1) – This part of the formula would tell us how many characters are there after the last forward slash.
  • =RIGHT(A2,LEN(A2)-FIND(“@”,SUBSTITUTE(A2,”/”,”@”,LEN(A2)-LEN(SUBSTITUTE(A2,”/”,””))),1)) – Now this would simply give us the string after the last forward slash.

 

Nguồn: https://trumpexcel.com/find-characters-last-position/

 

Advertisements

Error – microsoft ace oledb 12.0 is not registered on the local machine

Lỗi:

Microsoft ace oledb 12.0 is not registered on the local machine

Khắc phục:

  • Giải pháp 1: Thiết lập Target biên dịch của VS là x86
  • Giải pháp 2: Cài Access Database Engine

 

Đọc dữ liệu từ Excel

Mã nguồn dưới đây hướng dẫn cách đọc dữ liệu từ Excel vào cơ sở dữ liệu

var fullFileName =”PathOfExcelFile”;
var connectionString = string.Format(“Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 8.0;data source={0};”, fullFileName);
var adapter = new OleDbDataAdapter(“select * from [Ten_Sheet$]”, connectionString);
var ds = new DataSet();
string tableName = “tableName”;
adapter.Fill(ds, tableName);
DataTable data = ds.Tables[tableName];
dataGridView1.Columns.Clear();
dataGridView1.DataSource = data;

Excel – chuyển hàng thành cột, cột thành hàng

Đôi khi chúng ta muốn chuyển đổi bảng dữ liệu trong Excel theo kiểu hàng thành cột hoặc ngược lại. Ví dụ, chúng ta có bảng dữ liệu như sau:

Nguồn
Mã hàng Tên hàng Số lượng Giá
#01 A 2 5

Bảng dữ liệu đích:

Mã hàng #01
Tên hàng A
Số lượng 2
Giá 5

Để chuyển băng dữ liệu như vậy, trước hết chúng ta chọn bảng dữ liệu nguồn và copy (Ctrl + C)

Sau đó chọn vùng dữ liệu mới (nơi muốn copy tới), click chuột phải trên ô muốn copy dữ liệu tới, chọn Paste Special, chọn Transpose > OK.

Xem thêm hình hướng dẫn chi tiết bên dưới đây

1

Khắc phục lỗi không chạy VBA trong Excel

Error Message: This workbook has lost its VBA project, Active X controls and any other programmability-related features.

by SigmaXL Inc. on October 16, 2012

Error Message: This workbook has lost its VBAproject, Active X controls and any other programmability-related features.

If you encounter the above error, you may not have Visual Basic for Applications installed with Excel.

To resolve this issue, please follow the steps below:

1. Close Excel if it is open.

2. In the Control Panel choose “Add or Remove Programs” (or Programs and Features in Windows Vista / Windows 7).

3. Select Microsoft Office in the list and click on the Change button.

4. Choose “add or remove features”.

5. Select “Visual Basic for Applications” in the “Office Shared Features” list and set it to “Run from My Computer”. Then click on the continue button.