Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 7 Professional : Excel 2010)
列おきの参照
投稿日時: 19/06/05 09:19:37
投稿者: isshinco

下の表でA3セルに各技術評価の多い値を表示。B3セルに各価格評価の多い値を表示。としたいのですが
 
 

     A	   B	 C    D	    E	    F	 G	H      I    J	  K	  L    M     N	     
 
1   技術  価格	   ○○社             ××社		 △△社		   □□社	     
2   評価  評価  技術 価格 その他   技術	価格 その他   技術 価格	その他   技術 価格 その他   
 
3    B	   A	 B    C	  ***    B	 A   ***    C    A	***	  A    B   ***   

4

5	   B	 A    A		    A	 C	       B    B	  	  B    B
    
 
 
B5セル {=INDEX(C5:N5,MODE(IFERROR(MATCH(C5:N5,C5:N5,0),""),0) }のように連続した範囲は出来るのですが、列おきの参照が分かりません。    
 
 
ご教示、宜しくお願い致します。

回答
投稿日時: 19/06/05 13:51:06
投稿者: んなっと

   A   B    C   D    E    F   G    H    I   J    K
1 技術 価格 ○○社        ××社        △△社       
2 評価 評価  技術 価格 その他  技術 価格 その他  技術 価格 その他
3   B   A    B   C ***    B   A ***    C   A ***
 
A3
=INDEX($C3:$N3,MODE(IFERROR(MATCH($C3:$N3,$C3:$N3,0)/($C2:$N2=A$1),"")))
Ctrl+Shift+Enter同時押し
右方向・→B3まで

投稿日時: 19/06/05 15:23:04
投稿者: isshinco

んなっとさん ありがとうございます
 

んなっと さんの引用:
A3
=INDEX($C3:$N3,MODE(IFERROR(MATCH($C3:$N3,$C3:$N3,0)/($C2:$N2=A$1),"")))
Ctrl+Shift+Enter同時押し

 
すみませんエラーになってしまいます。
 
/($C2:$N2=A$1) ← この部分がちょっと分かりません。勉強不足で
 

回答
投稿日時: 19/06/05 15:50:30
投稿者: んなっと

そうですか。エラーの種類は教えてくれないのですね。
 
#VALUE! エラーならCtrl+Shift+Enterの3つのキー同時押しを忘れている可能性があります。
#N/A エラーなら2種類ほど原因が考えられます。

投稿日時: 19/06/05 16:23:12
投稿者: isshinco

んなっとさん 失礼しました
 
#N/A エラーです。
 
よろしくお願い致します。

回答
投稿日時: 19/06/05 17:06:07
投稿者: んなっと

では、まずは次の式で試してみてください。
 
A3
=INDEX($C3:$N3,MODE(IFERROR(MATCH($C3:$N3,$C3:$N3,0)/(MOD(COLUMN($C:$N),3)=COLUMN()-1),"")))
Ctrl+Shift+Enter同時押し

投稿日時: 19/06/05 17:35:15
投稿者: isshinco

んなっとさん ありがとうございます。
 
素晴らしいです。見事にできました。
 
各関数の意味はヘルプでわかるのですが、数式の組み立て方がまったく解かっていません。
もし、よろしければご教示頂ければ幸いです。
 
本当にありがとうございました。

回答
投稿日時: 19/06/05 18:25:07
投稿者: んなっと

ということは、1行目と2行目の赤字部分が違っていますね。
 
   A   B    C   D    E    F   G    H    I   J    K
1 技術 価格 ○○社        ××社        △△社       
2 評価 評価  技術 価格 その他  技術 価格 その他  技術 価格 その他
 
/($C2:$N2=A$1) で$C2:$N2のうちA$1の技術と異なるものが#DIV/0!エラーになるようにして除外しています。
上記の赤字部分が正しく入力されていなければなりません。

回答
投稿日時: 19/06/05 19:27:53
投稿者: んなっと

/(MOD(COLUMN($C:$N),3)=COLUMN()-1) の方は、列番号を3で割った余りが0のものだけを対象にする考え方です。
   A     B    C   D    E    F   G    H    I   J    K
1 技術    価格 ○○社        ××社        △△社       
2 評価    評価  技術 価格 その他  技術 価格 その他  技術 価格 その他
3   B     A    B   C ***    B   A ***    C   A ***
4     列番号→    3   4    5    6   7    8    9  10   11
5    ÷3余り→    0   1    2    0   1    2    0   1    2
 
しかし列の挿入などで変更が必要になりやすいという欠点があります。
 
最初の回答では、質問文に「技術 価格」という"目印"が明記されていたので、それらを活用する式にしました。

投稿日時: 19/06/06 09:05:50
投稿者: isshinco

んなっとさん ご教示ありがとうございます。
 
>/($C2:$N2=A$1) で$C2:$N2のうちA$1の技術と異なるものが#DIV/0!エラーになるようにして除外しています。
 
この式でエラーが出たのはA1とA2及びB1とB2は結合セルでした。解除で見事解決です。
最初は意味が分からなかったのですがこういう事だったんですね。素晴らしいです。今後また、使える場面が出てくると思います。
 
>/(MOD(COLUMN($C:$N),3)=COLUMN()-1) の方は、列番号を3で割った余りが0のものだけを対象にする考え方です。
 
ご丁寧に、ご教示頂きましてありがとうございます。よくわかりました。勉強になります。
 
んなっとさん、ありがとうございました。
 

投稿日時: 19/06/06 13:44:12
投稿者: isshinco

解決済み ✓ 忘れておりました。
 
んなっとさん、お世話になりました。 ありがとうございました。