ハマっている「お菓子」を教えて!

1、A列とB列にあるものが一致しているか確認する関数。(ただし並び順が異なる)

A列  B列
りんご ぶどう
いちご りんご
ぶどう いちご
みたいな場合。

A列にも、B列にも「りんご」「いちご」「ぶどう」は、順番こそ異なれどあるわけですが、
これを目で見て確認ではなく、関数で確認する方法はありませんか?


2、B列 C列にあるものをA列に一気に移動する関数

A列  B列  C列
   いちご
       ぶどう
   みかん
       ばなな
みたいになっているとします。
A列のセルは空白です。
B列、C列は歯抜けです。
それを、全部左のA列に移動させ、

A列  B列  C列
いちご
ぶどう
みかん
ばなな
みたいにする関数はありませんか?

以上です

A 回答 (5件)

1.に関してだけ言うと、要求仕様が不明確ですね。



あるか無いかだけ判断すればOKなのか、出現する数まで一致してないとOKじゃないのか?
数が一致しないといけないなら合ってない単語を全部不一致判定にするのか、それともA列3個・B列5個だとしたら3個までは一致判定にして、4,5個目だけ不一致判定にするのか?

まずは、目的を達成するにはどうしなければいけないのかを明確にしましょう。
    • good
    • 0

ナンでもカンでも、出来もしない関数、関数と騒がないで済む場合もありますよ。


差し当たって「2、」だけを、関数に頼らずに、やってみましょう。
範囲 A1:C4 内の任意のセル選択⇒Ctrl+G⇒[セル選択]⇒“アクティブセル領域”および“空白セル”に目玉入れ⇒[OK]⇒Ctrl+G⇒[セル選択]⇒“空白セル”に目玉入れ⇒[OK]→セル C1 上でマウスを右クリック⇒[削除]⇒“左方向にシフト”に目玉入れ→[OK]オ・シ・マ・イ
ちなみに「Ctrl+G」は [Ctrl]キーを抑えたままで[G]キーをツンする操作(ショートカットキー)なり。
分かんなきゃサ・ヨ・ナ・ラです・
    • good
    • 0

1.


MATCH関数でできます。
A列のセル値がB列に存在するかは、例えばD1セルに『=MATCH(A1,B:B)』
B列のセル値がA列に存在するかは、例えばE1セルに『=MATCH(B1,A:A)』
と入力してD1~E1セルを下方向にコピペすればよいです。
一致していれば、範囲の何番目のデータが一致しているかの値が表示されます。
一致がなければ、#N/Aのエラーがでます。IFERROR関数などを使ってエラー処理をすれば、任意の表示をさせることができます。

2.
CONCATENATE関数でできます。
A1セルに『=CONCATENATE(B1,C1)』と入力して、下方向にコピペすればよいです。
ただし、文字列をつなぎあわせる関数なので、B列とC列の両方に文字が入力されている場合は『いちごぶどう』のようになります。
    • good
    • 0

こんにちは



1)各セルの値について、それぞれの列に何個あるかを数えて、全て一致しているかを確かめれば良いと考えられます。
方法はいろいろあると思いますが、例えば
=AND(SUMPRODUCT((COUNTIF(A1:A99,A1:A99)=COUNTIF(B1:B99,A1:A99))*1)=99,COUNTA(A1:A99)=COUNTA(B1:B99))
では、いかがでしょうか?

※ 範囲を広くしすぎると(=例えば全列とか)計算不能になるようなので、上例では1~99行までを対象とした例にしてあります。


2)ご質問文に例示の内容がイマイチはっきりしません。
>B列、C列は歯抜けです。
同じ行では必ずどちらかが空白というのであれば、単純にB列C列を連結するだけでよいでしょう。
例えば、A1セルに
 =B1&C1
のような式を入れれば良いです。
Office365環境等であるなら、A1セルに
 =B1:B99&C1:C99
のような式を入力すれば、下方にスピルされます。

どのセルが空白かわからない(=同じ行にふたつ値がある場合もある)場合に、これを1列にして、B1,C1,B2,C2・・・のような順として考え、かつ、空白セルを除いて詰めて表示したいという意味であるなら・・
同じく、365環境等であれば、A1セルに
 =TEXTSPLIT(TEXTJOIN(CHAR(27),1,B1:C99),,CHAR(27))
などを入力することで、必要範囲まで下方にスピルされます。

※ 2列分を1列にすることになるので、全列を対象にすることはできません。
せいぜい全行数の半分くらいまでとなります。
    • good
    • 0

1.countif関数を使えば条件に合うセルの数が得られます。

たとえば、=countif(B1,A:A)とすれば、B1の値がA列にいくつあるかわかります。
2.関数は値を求めるだけなので移動はできません。空白セル以外の文字列を寄せ集めるにはtextjoin関数を使います。A1セルに=textjoin(,TRUE,B1:Z1)と書けばB1からZ1までの文字列を結合したものがA1に表示されます。それをコピーして値貼付けして、B1以降をクリアすればお望みの結果となるでしょう。
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A