[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『関数による値の置き換え』(通行人)
教えて下さい。
「表1」の形を「表2」の形に置き換えたいのですが、
関数で対応できるものでしょうか?
分かり難い表で申し訳ないのですが、
可能な場合はご教示下さい。
よろしくお願いいたします。
<表1>
A列/B列/C列
行1 ●●株式会社/値1/値7
行2 ●●株式会社/値2/値8
行3 ●●協同組合/値3/値9
行4 ●●協同組合/値4/値10
行5 ●●株式会社/値5/値11
行6 ●●小学校/値6/値12
<表2>
A列/B列/C列/D列/E列
行1 ●●株式会社/値1/値7/値2/値8/値5/値11
行2 ●●協同組合/値3/値9/値4/値11//
行3 ●●小学校/値6/値12////
< 使用 Excel:Excel2013、使用 OS:Windows7 >
ということではないのかな?
(ななしのごんべえ) 2015/10/09(金) 11:25
あまりお勧めはしないが。
表1がSheet1だとする。
表2のA1セルに =IFERROR(INDEX(Sheet1!A$1:A$100,SMALL(IF(FREQUENCY(IFERROR(MATCH(Sheet1!A$1:A$100,Sheet1!A$1:A$100,0),""),ROW(A$1:A$100))>0,ROW(A$1:A$100),""),ROW(A1))),"") B1セルに =IF(A1="","",IFERROR(INDEX(Sheet1!$B$1:$C$100,SMALL(IF(Sheet1!$A$1:$A$100=$A1,ROW($A$1:$A$100),""),INT((COLUMN(A1)-1)/2)+1),MOD(COLUMN(A1)-1,2)+1),"")) と入力し、どちらも式の確定時にShiftキーとCtrlキーを押しながらEnterキーで確定してくれ。 (確定後、式が{}で囲まれればOK)
式の確定後、A1セルは下へフィルコピー、B1セルは右および下へフィルコピーしてくれ。
なお、表1のデータが最大100行目まである場合に対応している。 表1の行数がもっとある場合は式中の「$100」部分をもっと大きい値にしてくれ。
追記 表1では一行に必ず二つ値(B列とC列)がある前提で式を作っている。 もし、一つしか値がない場合、ない部分が0表示される。
あと、表2の●●協同組合の最後部分は「値11」ではなく「値10」では? (ねむねむ) 2015/10/09(金) 13:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.