- ベストアンサー
エクセルでお助けをお願いします
エクセルの機能でSheet1からSheet2への形に出来る方法がありましたらお願いいたします。 A列 B列 C列 1 コード 種類 個数 2 3205 パン 54 3 1205 ジャム 9 4 7741 みかん 16 5 2240 人参 50 6 2240 みかん 10 7 2240 いも 41 8 1133 なす 30 9 3655 米 32 10 3655 砂糖 45 Sheet1 A列 B列 C列 D列 E列 F列 G列 H列 I列 1 コード 種類 個数 コード 種類 個数 コード 種類 個数 2 3205 パン 54 2240 みかん 10 2240 いも 41 3 1205 ジャム 9 3655 砂糖 45 4 7741 みかん 16 5 2240 人参 50 6 1133 なす 30 7 3655 米 32 Sheet2 Sheet1のA列のコードが重複する場合その行のA列、B列、C列の値をSheet2のD列、E列、F列さらにG列、H列、I列へ記入します。 Sheet1 は実際600行から900行くらいあります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 すいません、先ほどの式だと、データが10個まで(質問の内容)しか対応できませんでした。 訂正 (4)の式 =INDEX(Sheet1!$A:$C,MATCH(TEXT(INT((COLUMN()+2)/3),"00000")&TEXT(ROW()-1,"00000"),Sheet1!$E:$E,0),MOD(COLUMN()+2,3)+1) ご対応お願いいたします。
その他の回答 (2)
- saburo0
- ベストアンサー率35% (76/216)
(1)Sheet1のD2セルへ下記を入力 =TEXT(COUNTIF(A$2:A2,A2),"00000") (2)Sheet1のE2セルへ下記を入力 =D2&TEXT(COUNTIF(D$2:D2,D2),"00000") (3) (1)と(2)の式を下へデータがある行(1000行位?)まで下へコピー (4)Sheet2のA2セルへ下記を入力 =INDEX(Sheet1!$A$1:$C$10,MATCH(TEXT(INT((COLUMN()+2)/3),"00000")&TEXT(ROW()-1,"00000"),Sheet1!$E:$E,0),MOD(COLUMN()+2,3)+1) (5) (4)の式を下及び右へ、データが全て表示される箇所までコピー ではいかがでしょうか。
- 221west
- ベストアンサー率36% (168/459)
こんな感じではダメでしょうか? (1)シート1を、A列の順番に並べ替える。 (2)A列とB列の間に、新しい列を設ける(「新B列」とします)。 (3)新B列の内容は、以下の通りにする。 B1は適当な項目名(例えば「枝番」など) B2=1 B3=if(A3=A2,B2+1,1) B4=if(A4=A3,B3+1,1) B5=if(A5=A4,B4+1,1) 以下同様 (4)新B列の中身をコピーして、そのまま値の形式で貼り付ける。 ※並び替えをしても、値が変わらない様にするためです。 (5)新B列の中身の順番に並び替えて、以下の様にシート2に貼り付ける。 新B列の中身が1の物を、シート2のA~C列に貼り付ける。 新B列の中身が2の物を、シート2のD~F列に貼り付ける。 以下同様
お礼
早速、適切なご回答感謝いたします。 眼からウロコとはこの事とだと思いました。 本当です。 ありがとうございます。
お礼
まさに内容にそったお答え本当にありがとうございます。 昨日からの苦悩から開放されました。