Contar.si con 2 condiciones




 Tengo un problema que ahora te cuento, lo sabría hacer con una macro pero me interesa resolverlo con una función de Excel.  
Te cuento:  
Tenemos  
Columna ColumnaB  
A 1  
B 2  
C 3  
A 0  
B 2  
C 3  
A 1  
Lo que quiero hacer es:  
Contar los registros de la Columna donde el valor de la columna sea "A" y el valor de la ColumnaB sea <>0.  
Usando la función contar. Si me sucede que solo puedo establecer una condición.  




 He pensado que usando la función CONCATENAR podría hacer:  
CONTAR.SI(A1:A7;CONCATENAR(A;B)<>"A0")  
Seguiré probando cosas pero no sé que más hacer. Como mínimo saber seguro si es imposible de hacer con funciones.
Funcionaria con la fórmula concatenar, pero así la estas usando mal.  
Tendrías que en la columna c, concatenar a y b, y luego en otra celda:  
la formula =CONTAR.SI(C:C;"A0").  
La otra, para no concatenar en la columna C, seria hacer una fórmula personalizada.  
Si te interesa así, te digo como hacerla, si no sabes claro.  
Carlos Leal
Aquí está la solución. Puede utilizar el siguiente código: 


```
context.Table.Where(x => x.Field1 > 0).Update(y => new Table { Field2 = y.Field2 + 1 });

```
  Espero que ayude. true.                          
--
mira si quisiste poner x en lugar de 0, entonces es el intervalo tal que x es menor o igual a 2, por lo tanto un intervalo del -∞ a 2, cerrado por la derecha (por que se incluye al dos).

(-∞ ; 2]    --> representación formal.


si quisiste decir todos los valores que están entre 0 y 2, debería ser expresado de otra manera, como esta: 0<= x <=2 o 0< x <=2, y dependiendo de como lo expreses (mayor o igual, o mayor que cero) va a ser la representación del intervalo.

[0; 2] --> mayor igual.

(0; 2] --> mayor. amigos les comparto la solución:

si alguien conoce que valores se le puede poner al campo i\_sgfunct por que con la “c” te muestra el paso a paso del proceso.

observen:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/c/5/c5599222f216c73cbaa60eba0c4ce2d109725223.png "image")
[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/f/0/f068ab9b0e27a375b953093037dd8a7bd1072a30.png "image")
[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/d/4/d448f934275234f3c7f8757fb1d4963123777dc9.png "image")

paso 1:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/9/b/9bcdcb9a236d604a71fd0e56bc2ca844d5fc8f4b.png "image")

paso 2:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/e/8/e859f68266fadd858aca3fef5ad15782fd65df02.png "image")

paso 3:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/c/f/cf4eaa2b483c117668b07c17e8e93c6d503ef805.png "image")

paso 4:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/0/f/0f52f083bd907828651e6fe3c760eb3e7c6fb977.png "image")

paso 5:

[[image]](https://foros.consultoria-sap.com/uploads/db7262/original/3x/0/7/07422411c986279788cc7ce415eb5e8f266280b3.png "image")

paso… mira la unica desventaja que creo el tiene es que aun no es un contador titulado, po lo tanto hasta que el tenga su titulo y su registro como profesionista podra cotizarse mejor (y no estoy tomando en cuenta la experiencia que el tenga y como tu dices los idiomas que el habla, que es tambien factor importante)
porque no haces algo muy simple busca alguna vacante en internet en donde ofrezcan una cierta cantidad en dolares o tu moneda local por administrar un hotel o condominio con eso podrias hacer un comparativo.
creo que tienes que ser mas especifica con los datos como: cuantas habitaciones hay que controlar, cuanto personal hay que administrar, etc etc. suena sencillo pero te lo digo yo que he estado en el ramo de hoteles con 25 cuartos es mucho control, vigilancia y demas de los empleados. *Nota: la respuesta se proporcionó en un comentario en la pregunta original. Solo le estoy agregando un poco aquí, para hacerlo más visible y claro.* 





 Entity Framework obviamente asigna clases de C # a tablas de bases de datos a través de propiedades que representan las distintas columnas en cada tabla. Ahora, si el tipo de datos de una de estas propiedades no es compatible con el tipo de datos de su columna correspondiente en la base de datos, obtendrá una `System.InvalidCastException` cuando intente recuperar algo de esa tabla, incluso si la propiedad no coincide no está directamente involucrada en la búsqueda 

 En la pregunta, la consulta fue: 


```
User user = context.Users.First(i => i.UserId == id);

```
  No importa que tanto `id` como su propiedad correspondiente `UserId` sean válidas y compatibles entre sí aquí, porque lo que se está buscando es una instancia de toda la clase de `User` . 

 Aparentemente, el tipo de alguna otra propiedad en el `User` es incompatible con el tipo una columna con el mismo nombre en la tabla de `user` en la base de datos, por lo que el intento de mapearlo arroja la excepción anterior. estos problemas en ralidad son fáciles, sólo hay que traducirlos. 

traducción:
"si tomamos grupos de tres números (x,y,z) como si fueran un vector normal y corriente, entonces comprueba si estos otros cumplen todas las propiedades que se le exigen a un espacio vectorial".

a(x,y,z) = (ax, y, az).

para que sea espacio vectorial, debe cumplir los 4 axiomas de la operación "producto de número pro vector".
los axiomas son las dos propiedades distributivas, la asociatividad de escalares y el elemento unidad.

veamos si cumple la propiedad distributiva:

(a+b)(x, y, z) debería ser igual que a(x,y,z) + b(x,y,z)
con la definición que te han dado, sale
( (a+b)x, y, (a+b) z)

que es lo mismo que arriba. entonces esta sí la cumple.

la otra distributiva:

a[ (x,y,z) + (u, v,w)] = a(x,y,z) + z(u,v,w)

y con la definición de suma, tendrías

a [ (x+u, y+v, z+w) ] = a(x+u), y+v, a(z+w)

que es lo mismo que lo de arriba, así que también la cumple.

asociativida dde escalares

a·b(x,y,z)=(ab)·(x,y,z)

también la cumple

y también

1·(x,y,z)=(x,y,z)

en definitiva, sí es espacio vectorial.

en resumen, tienes que probar que la operación que te dicen cumple todos los requisitos para ser espacio vectorial. Básicamente hay varias cosas que puedes hacer. 

* usando `SqlBulkCopy.WriteToServer` que no funciona muy bien junto con EF, sin embargo, existen varios intentos para crear extensiones
* utilizando un procedimiento almacenado que tomará un registro grande y lo dividirá de acuerdo con alguna lógica
* utilizando parámetros de procedimiento almacenado escritos en la tabla y realice una llamada al procedimiento almacenado (y varias `insert ... select` dentro del procedimiento almacenado)

 En general, prefiero la tercera opción. 

 Marque esta pregunta [Entity Framework Stored Procedure Tabla Valor Parámetro](https://stackoverflow.com/questions/8157345/entity-framework-stored-procedure-table-value-parameter) si vas a consultar cualquier objeto o tabla de sap tienes basicamente 2 vias:

por una consulta select a traves del objeto orecordset de la diapi .

a traves de un select a la db de sap mediante una conexion odbc, ado, jdbc, etc…(dependera del lenguaje usado).

la tabla de condiciones de pago de lo… al llamarte para desearte un buen 2017., al pasar un año..
te das cuenta que es difícil saber tu número si es que lo cambiaste...
deberías de contestarle e invitarla a salir..
comentas que es una persona confiable, pues puede ser una gran amiga o sea que haya cierta amistad..
al verse y dialogar ve que es lo que surge al pasar los días o meses.. intuyo que quieres desarrollar un simulador con algun lenguaje de programación, ¿es correcto?

si es así, deberás saber que existen dos tipos de notaciones para los movimientos de las piezas:

1. notación descriptiva, se presta a confusiones pues cada jugador numera sus filas del 1 al 8 desde su lado y cada vez más en desuso, por lo que solo la mencionamos y

2. notación algebraica

cada una de las sesenta y cuatro casillas de un tablero de ajedrez es identificada con dos caracteres de manera única. el primer carácter identifica la columna de la casilla, y se representa por una de las siguientes letras minúsculas a, b, c, d, e, f, g y h, ordenadas desde la izquierda del jugador con piezas blancas hasta su derecha. el segundo carácter de una casilla indentifica su línea (fila) y se representa por un número del 1 al 8, en orden ascendente, desde el lado del jugador de piezas blancas hasta el lado jugador de piezas negras. las casillas, en la posición inicial, de algunas piezas son: torre del lado de la dama blanca a1, dama blanca d1, torre del lado del rey negro h8.

cada pieza tiene una letra mayúscula asociada, y varía en función del idioma del anotador, en español se utilizan r, d, t, a y c, respectivamente, para el rey, la dama, la torre, el alfil y el caballo. los peones no tienen asociados ninguna letra.

así 1. e2-e4 denotará que el peón que se encuentra en la casilla e2 ha sido movido a e4, habitualmente se omite la casilla de partida y se infiere por la casilla de llegada. nc3 será el caballo a la posición c3.

en fin, todo esto lo puedes hallar en cualquier libro elemental de ajedrez, o en línea en:

 http://es.wikipedia.org/wiki/notaci%c3%b3n\_algebraica\_(ajedrez)

lo interesante será "enseñar" a tu modelo de simulación las reglas del juego y como reconocer una jugada válida.

podré darte más ayuda si especificas mejor tu pregunta.
yo simule hace mas de 30 años un programita parecido, usando fortran iv y lo hice con un arreglo bidimensional de 8 x 8, todo lo que pude avanzar fue que el programita revisara la validez de la movida propuesta y dar respuestas correcto o incorrecto, pues en ese entonces la máxima interactividad que había con la computadora era a través de tarjetas perforadas!

toda una brecha generacional no??!!!

ahora me divierto muchísimo jugando en línea contra rivales, humanos o máquinas y la verdad es que la oferta de programas interesantes sobrepasa el tiempo que se le puede dedicar.

ojala, sea lo que requieres.
saludos,