プロが教えるわが家の防犯対策術!

http://okwave.jp/qa/q5776430.html
の質問に関連したものです。

添付画像のB列をなくした場合
はどこをいじればよいのでしょうか?

入れ子になりすぎてわけがわからなくなってしまいました。
アドバイス頂けると助かります。
よろしくお願いします。




=IF(COUNT($A$2:$A$1000)<ROW(A1),"",INDEX($A$2:$A$1000,SMALL(IF($A$2:$A$1000<>"",ROW($A$1:$A$999)),ROW(A1))))

F2セルには次の式を入力します。

=IF(E2="","",OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),0,2)&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),1,1)=2,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),1,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),2,1)=3,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),2,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),3,1)=4,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),3,2),"")&IF(OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),4,1)=5,CHAR(10)&OFFSET(INDEX(A:A,MATCH(E2,A:A,0)),4,2),""))

「http://okwave.jp/qa/」の質問画像

A 回答 (5件)

なんだかなあ、作業列を使わないと無駄な計算が多い。


A列昇順に並んでいる
5人まで
D2セル
=IF(COUNT(A:A)<ROW(A1),"",SMALL(A:A,ROW(A1)))
E2セル
=IF(D2="","",CHOOSE(MIN(5,IF(D3="",COUNTA(B:B)+1,MATCH(D3,A:A))-MATCH(D2,A:A)),
LOOKUP(D2,A:B),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+3),
LOOKUP(D2,A:B)&CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+1)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+2)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+3)
 &CHAR(10)&INDEX(B:B,MATCH(D2,A:A)+4)))
D2:E2セル 下へオートフィル
「http://okwave.jp/qa/」の回答画像5
    • good
    • 1
この回答へのお礼

どうもありがとうございました。
参考になりました。

お礼日時:2010/07/16 20:07

ちょっとしたことでわからなくなる仕組みは使わない方が良いです。

中途半端で使うのは良くない。

今回回答もらったとして、さらに変更があったとき大丈夫ですか。それに対応できるまできっちり説明をもらいましょう。

それかほかのシンプルで保守しやすいものを質問し検討するのも手です。


回答するにも、解読に時間かかりますね。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
参考になりました。

お礼日時:2010/07/16 20:08

私ならB列をなくした代わりに、B列が氏名になっているわけですが、C列を作業列としてC2セルには次の式を入力して下方にオートフィルドラッグします。



=IF(B2="","",IF(A2<>"",A2,MAX(C$1:C1)+0.01))

E2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(ROW(A1)>COUNT(A:A),"",SMALL(A:A,ROW(A1)))

セルの表示形式はユーザー定義で m/d(aaa) のようにします。

F2セルには次の式を入力して下方にオートフィルドラッグします。

=IF(E2="","",INDEX(B:B,MATCH(E2,C:C,0))&IF(COUNTIF(C:C,E2+0.01)=0,"",CHAR(10)&INDEX(B:B,MATCH(E2+0.011,C:C,1)))&IF(COUNTIF(C:C,E2+0.02)=0,"",CHAR(10)&INDEX(B:B,MATCH(E2+0.021,C:C,1)))&IF(COUNTIF(C:C,E2+0.03)=0,"",CHAR(10)&INDEX(B:B,MATCH(E2+0.031,C:C,1)))&IF(COUNTIF(C:C,E2+0.04)=0,"",CHAR(10)&INDEX(B:B,MATCH(E2+0.041,C:C,1)))&IF(COUNTIF(C:C,E2+0.05)=0,"",CHAR(10)&INDEX(B:B,MATCH(E2+0.051,C:C,1))))

F列のセルの書式設定では「配置」から「折り返して全体を表示する」にチェックをします。
    • good
    • 0
この回答へのお礼

どうもありがとうございました。
参考になりました。

お礼日時:2010/07/16 20:08

B列を非表示にして、同じ日付内の名前の間の罫線を消すだけでは、どのような不都合があるのでしょうか?


わざわざ、1つのセルに名前をまとめる理由が解りません。
    • good
    • 0
この回答へのお礼

説明不足でした。

ご意見ありがとうございました。

お礼日時:2010/07/16 20:10

作業のための列を削除することで、式はさらに複雑になり混乱するだけです。

計算速度も遅くなります。できるだけ式は単純がよいのです。
作業列が目障りならその列を非表示にしても良いのです。
    • good
    • 0
この回答へのお礼

説明不足でした。

ご意見ありがとうございました。

お礼日時:2010/07/16 20:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!