使用Vlookup /宏进行转置

时间:2016-07-06 19:52:17

标签: excel macros vlookup transpose

在Excel中,我有一个人员及其各种角色的唯一列表,它们在每行的不同列中保存如下:

名称 角色 角色 角色 角色 角色
John A B C null null
Jane D C null null null
Lisa A B C F G

我想转换每个唯一“名称”的所有角色,以便每个名称组合都有一行 - 角色如下:

名称 角色
约翰阿 约翰B 约翰C 简D
简C
丽莎A
丽莎B
丽莎C
丽莎F
丽莎G

我可以使用任何函数或宏的组合来在另一张表格或同一电子表格中获取此输出吗?即使转置的行包含空值,我也可以进入并删除末尾带有空值的所有行。我有大约30多个用户,许多人有20多个角色,我试图分开,所以这可以节省我的时间,如果有一个自动化的方法。

2 个答案:

答案 0 :(得分:3)

在H2:

                    Uri selectedImage = data.getData();
                    if (selectedImage == null) {
                        imagePath = data.getStringExtra(GOTOConstants.IntentExtras.IMAGE_PATH);

                        Bitmap my_bitmap_camera = BitmapFactory.decodeFile(imagePath);

                        ExifInterface exif = new ExifInterface(imagePath);
                        int orientation = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, 1);

                        switch (orientation){
                            case ExifInterface.ORIENTATION_ROTATE_90:
                                Matrix matrix = new Matrix();
                                matrix.postRotate(90);
                                my_bitmap_camera = Bitmap.createBitmap(my_bitmap_camera, 0, 0, my_bitmap_camera.getWidth(), my_bitmap_camera.getHeight(), matrix, true);
                                break;
                        }

                        ivScreenshot1.setImageBitmap(my_bitmap_camera);
                    }

在I2:

            <RelativeLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content">

                <ImageView
                    android:id="@+id/ivScreenshot1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"/>

            </RelativeLayout>

填写两个。

enter image description here

答案 1 :(得分:1)

这将列出所有名称并排除空值,只要每个人都存在空值作为最右边的单元格。 (意思是没有像A, B, Null, C, Null, D)这样的模式。

enter image description here

H2 = =COUNTA(B2:F2),向下拖动

A7 = =A2

A8 = =IF(COUNTIF($A$7:A7,A7)<VLOOKUP(A7,$A$2:$H$4,8,0),A7,OFFSET(A$1,MATCH(A7,$A$1:$A$4,0),0)),向下拖动names * roles

B7 = =OFFSET($A$1,MATCH($A7,$A$1:$A$4,0)-1,COUNTIF($A$7:$A7,$A7)),向下拖动 names * roles

修改

要消除H列,请将A8中的公式更改为以下内容:

=IF(COUNTIF($A$7:A7,A7)<COUNTA(OFFSET($A$1,MATCH(A7,$A$1:$A$4,0)-1,1,1,COUNTA($A$1:$F$1))),A7,OFFSET(A$1,MATCH(A7,$A$1:$A$4,0),0))