[[20200517122616]] 『表を組み替えたい』(nao) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『表を組み替えたい』(nao)

各商品の列に対応するように追加機能と価格が定義されています。
例えば、商品Aに追加機能aを追加するなら100円かかるという表です。

A  B    C     D      E    F   
1
2       商品A   商品B   商品C  商品D
3
4 追加機能  価格   価格   価格    価格
5  a     100    200    400    500
6  b     400   300    120    500
7  c     装備済   装備済  装備済   装備済
8  d     390   400   200    500

この表を以下のようにexcel関数をもちいて組み替えたいです。

商品名  追加機能  価格
商品A  a
商品A  b
商品A  c
商品A  d
商品B  a
商品B  b
商品B  c
商品B  d
商品C  a
商品C  b
商品C  c
商品C  d

実装済とある場合は0を返したいのでIFERROR関数を使うのかな?とは考えてみました。よろしくお願いします。

< 使用 Excel:unknown、使用 OS:MacOSX >


内容から見ると
[[20200516235450]]と同じ質問者ですか。
実装済はどこにあるんですか。
(かん) 2020/05/17(日) 13:20

 上の例で、I1からK1に、商品名、追加機能、価格と入力し、
 I2以下にデータを表示させる例です。

 I2=INDEX($B$2:$E$2,INT((ROW(A1)-1)/4)+1)
 J2=INDEX($B$2:$E$2,INT((ROW(A1)-1)/4)+1)
 K2==IFERROR(INDEX($A$2:$E$8,MATCH(J2,$A$2:$A$8,0),MATCH(I2,$A$2:$E$2,0))*1,0)

 として下にコピーで希望どおりになりますか
 実装済=装備済、と解釈しました。
(tora) 2020/05/17(日) 13:29

基本はtoraさんと似たような発想になるけど、
>実装済とある場合は0を返したいのでIFERROR関数を使うのかな?
↑は文字列を数値として扱おうとすると0として扱われるのを利用してみてはどうですか?

【表1】

  ______B_______C_______D_}_____E_______F__________
 2            商品A   商品B   商品C   商品D  
 3
 4  追加機能   価格    価格    価格    価格
 5     a        100     200     400     500
 6     b        400     300     120     500
 7     c      実装済  実装済  実装済  実装済
 8     d        390     400     200     500
 9

【表2】

   ____A_________B_________C_______
  1  商品名   追加機能   価格
  2  商品A       a        ★
  3  商品A       b        ↓
  4  商品A       c
  5  商品A       d
  6  商品B       a
  7  商品B       b
  8  商品B       c
  9  商品B       d
 10  商品C       a
 11  商品C       b
 12  商品C       c
 13  商品C       d

★のところに↓を入れて、(フィル)コピー

 =SUM(INDEX(表1!$C$5:$F$8,MATCH(B2,表1!$B$5:$B$8,0),MATCH(A2,表1!$C$2:$F$2,0)))

(もこな2 ) 2020/05/17(日) 14:58


もこな2さん

返信ありがとうございます。
ちょっとうまくいかなかったのでもう少しだけ解説していただけないでしょうか?
index関数とmatch関数の理解があまり深くないので教えていただきたいです。

よろしくお願いします。
(nao) 2020/05/17(日) 16:38


>ちょっとうまくいかなかった
どのようにうまくいきませんでしたか?

>index関数とmatch関数の理解があまり深くないので教えていただきたいです。
適当なセルに分解してみるとわかりやすいと思います

 数式1 =MATCH(B2,表1!$B$5:$B$8,0)
 数式2 =MATCH(A2,表1!$C$2:$F$2,0))

 数式3 =INDEX(表1!$C$5:$F$8,数式1,数式2)

 数式4 =SUM(数式3)

(もこな2 ) 2020/05/17(日) 17:41


 ・元表は Sheet1 のB列〜F列
 ・組み替え後の表は別シートの A列〜C列
  A列・B列は入力済み
 だとして

 N 関数とVLOOKUP で

 C2 =N(VLOOKUP(B2,Sheet1!$B$5:$F$8,MATCH(A2,Sheet1!$B$2:$F$2,0),FALSE))
 下コピー

 元表が例示通りなら ↓ でも一応できます
 C2 =N(INDEX(Sheet1!$C$5:$F$8,MOD(ROW(A4),4)+1,INT(ROW(A4)/4)))

 参考まで
(笑) 2020/05/17(日) 19:52

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.