• ベストアンサー

4つのセルの文字列が全て一致するものがいくつあるか求める数式を短くしたい

A1とA2とD1とD2に 仮に「あ」「い」「5」「E」と数字or文字を入力し, E5とF5とG5とH5  がそれぞれ  A1とA2とD1とD2 に全て一致するか I5とJ5とK5とL5   がそれぞれ  A1とA2とD1とD2 に全て一致するか M5とN5とO5とP5  がそれぞれ  A1とA2とD1とD2 に全て一致するか Q5とR5とS5とT5  がそれぞれ  A1とA2とD1とD2 に全て一致するか を確認し,条件に一致した組数を表示するために以下のような数式で求めていますが,数式を短くすることはできないでしょうか? =SUM(A1&A2&D1&D2=E5&F5&G5&H5,     A1&A2&D1&D2=I5&J5&K5&L5,     A1&A2&D1&D2=M5&N5&O5&P5,     A1&A2&D1&D2=Q5&R5&S5&T5) セルに実際に入る文字は1文字ではないため=CODE()は使用できません。

質問者が選んだベストアンサー

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

対して短くはないですが... =SUMPRODUCT((MOD(COLUMN(E5:Q5),4)=1)*(E5:Q5&F5:R5&G5:S5&H5:T5=A1&A2&D1&D2)) または =SUMPRODUCT((MOD(COLUMN(E5:Q5),4)=1)*(E5:Q5=A1)*(F5:R5=A2)*(G5:S5=D1)*(H5:T5=D2))

rousanox
質問者

お礼

この数式,短いし思い通りの結果を導き出しました! SUMPRODUCT MOD COLUMN それぞれの意味はわかるのですが,1列の範囲や&を使うことに慣れず理解に苦しみました。 質問して後に表の構成など変更したため数式を以下のように変えて使用させていただきました。 ありがとうございました。 =SUMPRODUCT((A1=E13)*(H13:Q13&I13:R13&J13:S13=A2&D1&D2)) =SUMPRODUCT((A1=E13)*(H13:Q13=A2)*(I13:R13=D1)*(J13:S13=D2))

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • jiji0721
  • ベストアンサー率50% (8/16)
回答No.2

配列数式を使って、 {=SUM(1*(A1&A2&D1&D2=E5:Q5&F5:R5&G5:S5&H5:T5))}

rousanox
質問者

お礼

回答ありがとうございます。 配列数式は出来るだけ使用しない方法でという旨書き忘れていました。 しかしながら頂いた回答のような&で括り範囲を右に1つづつずらす方法は自分で導き出すことはできなかったと思います。 今後の参考にさせて頂きます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelで飛び飛びのセル(列)を参照したいのですが…その2

     ある「sheet1」で、G1="A",H1="B",I1="C",J1="D",K1="E",L1="F",M1="G",N1="H",O1="I",P1="J",Q1="K",・・というように文字が入力されているとすると、5列飛びの値A,F,K・・・(G1,L1,Q1・・・)が欲しいのです。そして、その値が「sheet2」に、C5=A,D5=F,E5=K,F5=P・・・となるようにしたいのです。ただ数値が5ずつ増加するのではなく、そのセルに入力されている文字列を参照したいのです。  それをまた、「sheet1」の、G2="A",H2="B",I2="C",J2="D"・・・の値でも同じ事をしたいのですが・・・。  よろしくお願いします。

  • 文字列同士のEXCEL関数について

    a  b  c  d  e  f  g  h  i  j=× k  l  m  n  o  p  q  r  s  t =◎ u  v  w  x  y  z  a1  a2  a3 =■ a4  a5  a6  a7 =▲ a8  a9  a10  a11  a12=△ a13  a14  a15 =○ この6水準を全て1つの式に入れたいのですが、 なかなか、文字列同士ですとOR関数ではうまくいきません。 a~a15及び×~○は文字列です。 例 a4だったら▲  a15だったら○ それと出来れば空白の場合は空白にしたいのです。 どうか良案を紹介してください。初心者ですので数式も教えてもらえれば幸いです。宜しくお願いします。

  • 2行のセルの入れ替え。

     初めまして、よろしくお願いします。  セルに A B C D E F G H I J K L 1 a b c d e f 2 g h i j k l 3 m n o p q r 4 s t u v w x 5 " ・ " ・ " ・ " 100 "  という表があります。これを A B C D E F G H I J K L 1 a b c d e f g h i j k l 2 m n o p q r s t u v w x 3 " 4 " 5 " ・ " ・ " ・ " 100 "  という風に、偶数行のデーターを奇数行の後ろにつけるようにしたいと思います。無理ならば奇数行だけのデーター、偶数行だけのデーターとなるように、何かよい方法を教えて頂きたく、よろしくお願いします。

  • OCRで文字変換したいのですが。

    Brother 複合機 DCP-595CN 使用。スキャン項目の三段目 OCR:テキストデータ変換で 本の文字を読み取り wordに写しその文字を自由にフォントやサイズを変えたい。  PCは MacBook Air バージョンは Yosemite 10.11 から Hi Sierraの 10.13.8 に変えました。 以下はできてこんなところです! c c r y O w r n e a n a s h a r k k n o w s y o w % ' l t @ e ' b o y r & s @ e d , h a r d l y a b t e t o c r e d i t h i s h e a r i n g , T h e w o m a n n o d d e d , n o t l o o k i n g a t a n g r t h i n g b u t h e r s k i r t . P a u l o ' s b r e a t h e x p l o d e d " B u t t h a t ' s i m p o s s i b l e ! " T h e w o m a n p a u s e d t o r a i s e b l a c k e y e s i . n u r o n d e r , c ' Y o u h a v e n e v e r h e a r d o f m e @ " s h e a s k e d . P a u l o w a s a t a l o s s t o a c c o u n t f o r t h e w o m a n ' s c a s u a l a c c e p t a n c e o f t h e s h a r k ' s p r e s e n c e A l l k n e w s 3 h a r k s w e r e a m e n a c e ! Y e t t h i s o d d o   ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • 順列・数え上げ

    よろしくお願いします。 ここに下のような390個の文字があります。 (A,B,C,D,E,F,G,H,I,J,K,L,M がそれぞれ10個ずつ、 N,O,P,Q,R,S,T,U,V,W,X,Y,Z がそれぞれ20個ずつあります。) この390個の文字から235文字を選んで一列に並べる方法は全部で何通りありますか。 A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z N O P Q R S T U V W X Y Z 以下、私が考えたことを書きます。 この390個の文字から235個の文字を選ぶ組み合わせの総数は、 (Σ[k=0~10]x^k)^13*(Σ[k=0~20]x^k)^13 を展開したときのx^235の係数ですから、 23463540513956137996043929988 通りだということは分かります。 この23463540513956137996043929988 通りのそれぞれについて235個の文字 の順列(同種のものを含む順列)を数え上げれば答えは出ると思いますが、これは あまりにも大変な作業です。 何かよい知恵はないでしょうか。

  • 変換テーブルを使った、文字列置換[JavaScript]

    以下のような、変換テーブルがあるとします。 var ascii = [' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F','G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~']; var htmlChar = [' ', '!', '"', '#', '$', '%', '&', ''', '(', ')', '*', '+', ',', '-', '.', '/', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ':', ';', '<', '=', '>', '?', '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\', ']', '^', '_', '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~']; ブラウザの「ソースを見る」で、ソースを見るとHTMLのフォームのテキスト入力フィールドのvalueに特殊文字コード「'」と表示されているとします。 例;ブラウザの「ソースを見る」で、ソースを見た場合: <input type="text" value="'" /> これを変換テーブルを使って、ブラウザの「ソースを見る」で、ソースを見たときに、特殊文字(' なら '(シングルクォート)に表示させたいのですが、可能でしょうか? 変更後の例;ブラウザの「ソースを見る」で、ソースを見た場合: <input type="text" value="'" />

  • 行・列の整理! perl

    perlでデータを並び替えて整理したいです。 【元データ】 A a b A c d A e f A g h B i j B k l B m n C o p C q r C s t C u v ・ ・ ・ 上記のデータを下記のように並び替えしたいのですが上手くできずに困っています。 どのような記述をすれば良いのでしょうか。間の空白はタブ区切りです。 【目標】 A a b c d e f g h B i j k l m n C o p q r s t u v D ・ 現在、元データから A B C D ・ ・ というデータを作り、元データと比較していますが上手くいきません。 for($i=0; $i<@key; $i++){ print OUT "$key[$i]"; for($j=0; $j<@data; $j++){ if($key[$i] =~ /$data[$j]/){    #部分一致 print OUT "$'"; } } print OUT "\n"; } 部分一致の行を正規表現を用いて上手く処理したいのですがやり方がわからず躓いています。 宜しくお願いします。

    • ベストアンサー
    • Perl
  • アルファベットの小文字の起源(大文字と形が同じもの/違うもの)

    英語のアルファベットの小文字は、私なりに分類すると 1.大文字と全く同じ形のもの  c o s v w x z 2.大文字にかなり似ているもの  f k p u y 3.大文字を筆記体で書いたものに似ているもの  g 4.大文字と似ていないもの  a b d e h i j l m n q r t です。 小文字の起源をご存じの方いらっしゃいましたら、 なぜ上記のようになっているか教えてください。

  • Excel 特定の文字列間のセルの個数を数える方法

    Excelの関数を用いて以下のような処理は可能でしょうか。 A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U| A|B|C|B|C|A|C|A|B|B|C|A|B|B|B|C|A|C|B|A|3| セルA1からT1にはA,B,Cどれかの文字列が入っています。Aの文字列と次に現れるAの文字列との間にセルが3個以上あれば、U1のセルにその現れる回数が表示される。(上記の場合"3") このようなことが、関数だけでできるでしょうか。 もしできるようでしたらそのやり方をご教授ください。 よろしくお願いします。

  • 文字の変換 (アルファベット)

    文字の変換について教えてください 10進数の1は16進数で1、10はAになります。 ではアルファベットはどうなるんでしょうか? 以下の変換であっているでしょうか? a = c1 b = c2 c = c3 d = c4 e = c5 f = c6 g = c7 h = c8 i = c9 j = d1 k = d2 l = d3 m = d4 n = d5 o = d6 p = d7 q = d8 r = d9 s = e1 t = e2 u = e3 v = e4 w = e5 x = e6 y = e7 z = e8 上記の変換が16進数かどうかもわかりませんが、教えてください。 よろしくお願いします。

専門家に質問してみよう