(Công thức Unpivot)Chuyển dữ liệu 1 dòng thành nhiều dòng theo điều kiện số lượng dòng cho trước

 

Chuyển dữ liệu 1 dòng thành nhiều dòng theo điều kiện số lượng dòng cho trước

Công thức 1:

ví dụ: cột G là giá trị, cột H là số dòng muốn lặp lại giá trị này

=LOOKUP(2,1/(SUMIF(OFFSET($H$1,,,ROW($1:3)),">0")+1<=ROWS($1:1)),$G$2:$G$4)

$H$1:chỗ có số lượng, số dòng luôn lớn hơn range range chứa giá trị 1 dòng

$G$2:$G$4:range chứa giá trị cần trải nhiều dòng

=LOOKUP(2,1/(SUMIF(OFFSET($K$1,,,ROW($1:3)),">0")+1<=ROWS($1:1)),$J$2:$J$115)



Công thức 2:


=IF(D1=$A$1,A2,INDEX($A$1:$B$30,IF(COUNTIF($D$1:D1,D1)=VLOOKUP(D1,$A$1:$B$30,2,FALSE),MATCH(D1,$A$1:$A$30,0)+1,MATCH(D1,$A$1:$A$30,0)),1))

Nhận xét